Jeaye Wilkerson

Jeaye Wilkerson

@jeaye.com

Creator of jank, the native Clojure dialect on LLVM with seamless C++ interop.

286 followers36 following137 posts

If you can't make it to the Conj this year, you can still get a FREE livestream ticket here: ti.to/nubank/cloju... That will allow you to watch my talk, as well as every other talk, live, from the comfort of your own home!

Here's a first glimpse at C++ context being added to errors. In this case, we're noting the candidates involved in ambiguous overload resolution. Thoughts?

Did you know jank has a built-in benchmarking library for easy benchmarks with beautiful output? It even checks for common benchmarking mistakes, like debug builds, missing optimization flags, and lazy compilation.

jank's terminal REPL client has been revamped to support completions, syntax highlighting, and multi-line inputs. The jank command will now start up the REPL client by default.

jank's getting support for runtime exception stack traces and code snippets. This is some tricky code involving LLVM, the GDB-JIT interface, cpptrace, and some jank-side object file tracking. The result is gorgeous. Check out the stack trace for how we can render Clojure frames.

If you've not yet signed up for #clojure Conj, now's a great time. In case you're unable to make it this year, did you know that there's a free live stream? That's right, you can still catch my talk live, for free! 2026.clojure-conj.org

The mantra that I use for basically all of my software development is Kent Beck's "Make it work. Make it right. Make it fast." First we hack together a solution to solve the problem. Then we iterate to clean up the mess and make it maintainable. Then, as needed, we optimize.

Hey folks! I'm happy to share that I'll be presenting at #clojure Conj 2026. My talk "Would you believe it's jank?" will highlight jank's features, go deep into our world-class C++ interop, our custom build system, and include some impressive demos. I'll see you there!

Based on the recent survey, it's pretty clear how people want to use jank. jank will start an era of #clojure game development.

I've been working on jank's ability to compile #clojure programs to native executables which don't depend on Clang/LLVM. All functionality is baked in, like Graal native images. It works! They're smaller than native images and startup is instantaneous. 馃敟

I have a 馃挵 $1,000 USD 馃挵bounty on the last issue which is preventing jank from using upstream Clang/LLVM. I've outlined the problem in this ticket and I'm calling anyone interested to help us solve this! RT this to help jank. github.com/jank-lang/ja...

github.comGet Clang's PCH fixes merged (bounty: $1000) 路 Issue #446 路 jank-lang/jankOverview We have an open PR waiting to be merged into LLVM. The PR fixes an issue with PCHs in jank. The PR is here: llvm/llvm-project#94166 However, I've done work to the PR which hasn't been merg...

Thank you, Nubank, for the Github sponsorship! To me, I gather that Nubank is investing in the future of jank because they clearly care about the future of #clojure and its community. I could not be more appreciative. 馃┑

I'm happy to announce that I'll be presenting at Clojure Conj 2025. My talk is entitled: "How to stick with your projects, even when they're janky" We'll cover rewrites, building a community, development practices, avoiding burnout, and, of course, jank itself.

I've just built a distributable Arch Linux tarball for jank which can run on a fresh Arch Linux image with a couple of pacman deps installed. We're getting close to easy distro packaging and release binaries. We're getting close to jank's alpha release. 馃榾

jank now has a health check, so you can troubleshoot any issues with your setup. This should come in handy as we add packages for Ubuntu, Arch, Nix, Homebrew, and MacPorts.

Today I turned NeoVim's syntax feature off (`syntax off`). Turns out it's no longer needed, with treesitter. Everything still works well and, in fact, some visual highlighting issues are gone. If you're using treesitter and you don't use `syntax off`, both are running.

Do you want to be a compiler hacker? Want to use advanced C++ techniques in practice? Want to learn more about how #clojure works? I'm bringing on a fourth mentee to help work on jank. Reach out here if you're interested! scicloj.github.io/docs/communi...

scicloj.github.ioScicloj open-source mentoringScicloj offers mentoring to Clojurians who wish to become active in open-source projects. Please reach out What is that? # One of the big challenges of getting involved in open source is gaining a sen...

C++ value lookup. Automatic conversions to jank objects. C++ constructor calls, overload matching, and automatic conversions from jank objects. This is the start of seamless interop in jank. 馃挭

Happy to share I'll be sponsored by Clojurists Together for $9k this quarter, to work on seamless C++ interop for jank, the native #clojure dialect. Hang tight and let me cook. This is going to be great.