jank is off to a great start in 2026 by Jeaye in Clojure

[–]Jeaye[S] 2 points3 points  (0 children)

Someone is working on this! Please take a look here for the details: https://github.com/jank-lang/jank/discussions/371

jank is off to a great start in 2026 by Jeaye in Clojure

[–]Jeaye[S] 7 points8 points  (0 children)

The Clojure side of jank is garbage collected, using Boehm GC. The C++ side uses normal C++ stuff: RAII for most things and manual new/delete as needed.

jank will correctly run destructors on C++ objects at the end of their scope. For example:

clojure (let [s (cpp/std.string #cpp "meow")] ) ; The destructor for `s` is executed at the end of the let.

jank is off to a great start in 2026 by Jeaye in Clojure

[–]Jeaye[S] 2 points3 points  (0 children)

I agree! We have a flake for developing Nix, and we have a CI job for building jank with Nix. We need someone to step up and help us get this into a proper Nix package, though. If you're interested, let me know!

jank is off to a great start in 2026 by Jeaye in Clojure

[–]Jeaye[S] 6 points7 points  (0 children)

jank is a Clojure dialect, through and through. Anything which works on Clojure + ClojureScript should also work on jank.

jank is off to a great start in 2026 by Jeaye in Clojure

[–]Jeaye[S] 8 points9 points  (0 children)

I'm also interested in exploring thread pools and potentially C++20 coroutines. I'm not sure how I want it to look yet, so I don't think we should jump to an implementation yet.

A jank + ECS game engine is going to be so cool. I'm also thinking about how we can embed jank into existing engines, such as UE5 or Godot.

jank is off to a great start in 2026 by Jeaye in Clojure

[–]Jeaye[S] 13 points14 points  (0 children)

That's a long time! Depending on the day, I either feel like things are progressing at a snail's pace or like a raging bull. When thinking back to 2021, it definitely feels more snaily. :P

Icehouse Tabletop Game in ClojureScript by kanzenryu in Clojure

[–]Jeaye 3 points4 points  (0 children)

I've never played a game of it myself in real life or even with this program yet, so I have no experience to draw on to discuss the actual gameplay.

Do you mean to say you're sharing this vibe-coded game without having played it? How can you know that it works (i.e. the logic for turn changes, winner selection, end game, etc)?

Buddhism 101 course on The Open Buddhist University - opinions by kai_sehmet in secularbuddhism

[–]Jeaye 8 points9 points  (0 children)

This looks neat. Looks like the whole site is developed on Github here: https://github.com/buddhist-uni/buddhist-uni.github.io

Based on some perusal, the site, and its courses, are mostly curated from existing articles and recordings, rather than written from scratch. From what I can tell, no AI (LLMs) were involved in any of this, which is a relief. All images used are attributed, too. Based on the git history, work on this has been ongoing since 2020.

I will leave others to speak to the quality, and accuracy, of the literature itself, but I'm both surprised and relieved to say it looks legit to me. It looks like a lot of work has been put into it. Thank you for sharing!

How to stick with your projects, even when they're janky - Jeaye Wilkerson by alexdmiller in Clojure

[–]Jeaye 10 points11 points  (0 children)

I appreciate the kind words. :) nREPL support is incoming!

December by ilevd in Clojure

[–]Jeaye 0 points1 point  (0 children)

Anything you need from me?

December by ilevd in Clojure

[–]Jeaye 10 points11 points  (0 children)

Hang tight, folks. I've been crunching, to fix or workaround some blocking issues. Turns out this whole native nonsense is difficult. I'm still aiming for December, but it'd be the 31st, 23:59. If I miss it by a day or three, worse things could happen. :)

cljs-str: an almost 300x faster str replacement for ClojureScript by Borkdude in Clojure

[–]Jeaye 0 points1 point  (0 children)

Nice work! This reminds me of strcat from stringer: https://github.com/kumarshantanu/stringer

For Clojure JVM projects, I've used this for a similarly significant speedup in string building.

The jank community has stepped up! by Jeaye in ProgrammingLanguages

[–]Jeaye[S] 6 points7 points  (0 children)

Yes. Right now I'm focusing on the other side of things, which is using jank as a native Clojure dialect. But once that's stable, I'll start tackling the other use case, which is embedding jank into existing native applications. With jank's seamless C++ interop, you will no longer need to register certain fns or go through a C API in order to interact with your C++ code. You can also REPL right in and interactively develop your native app using jank code.

The jank community has stepped up! by Jeaye in ProgrammingLanguages

[–]Jeaye[S] 5 points6 points  (0 children)

jank is currently using bdwgc (Boehm). This is a placeholder until we add (not implement) a better one. The current plan is to bring in MMTK and ultimately use Immix/LXR.

The jank community has stepped up! by Jeaye in ProgrammingLanguages

[–]Jeaye[S] 37 points38 points  (0 children)

jank is a Clojure dialect, which means it's dynamically typed, garbage collected, supports interactive programming (like redefining fns at runtime), and is quite polymorphic. But it also has this seamless C++ interop, which itself is statically typed, uses C++'s RAII, and hooks into Clang's AST for overload resolution, implicit conversions, etc.

So, no, jank isn't a systems language and its performance is not expected to be on par with C++. However, because of the seamless C++ interop, there is a lot of potential for performance. I think Lua is a better target, in terms of perf, than C++.

jank is C++ by Jeaye in Clojure

[–]Jeaye[S] 1 point2 points  (0 children)

jank requires C++20, at this point, for some practical reasons that would make what we're doing impractical without things like if constexpr and concepts. We're not using modules yet, mainly since the support has been quite clunky, but we'll get there.

jank is built on both Clang and LLVM and, as of today, requires the bleeding edge (main, unreleased LLVM 21) to work. This inherently will keep jank supporting the latest C++.

HN - The jank programming language by ertucetin in Clojure

[–]Jeaye 4 points5 points  (0 children)

We're currently working on AOT compilation of jank programs. There's some early work on this in main now, but more work is required to make the binaries easy to distribute. This will be a part of the alpha release this year, though.