announcements 2026-09-12

A small AWS Lambda experiment, in three native-Clojure dialects The same demo handler, deployed to AWS Lambda three different ways, all open source: lambda-mvp-jlt runs on a custom runtime written in Jolt, native Clojure on Chez Scheme. It implements the Lambda Runtime API contract directly and ships as a plain provided.al2023 zip. https://github.com/b12n-oss/lambda-mvp-jlt lambda-mvp-jnk is the same demo again, this time in jank, native Clojure compiled through C++, Clang and LLVM. It deploys as a container image and also hand-implements the Runtime API loop, including its own HTTP client, since nothing in jank's ecosystem has one yet. https://github.com/b12n-oss/lambda-mvp-jnk lambda-mvp-cljs is the same demo a third time, in ClojureScript. This one is more of a reference point than an experiment. It runs on AWS's own managed Node.js runtime, which AWS officially supports already, so there is no custom runtime code to write at all. It is here to show what the normal, fully-supported path costs, next to what jlt and jnk are doing on their own. jlt and jnk are the interesting part. AWS does not ship a Chez Scheme or a jank runtime, so both projects speak the Lambda Runtime API by hand: long-poll for the next event, run the handler, post the response back. Each repo ships a bench task (`jolt bench` / bb bench) for reproducing a real cold and warm boot-time comparison against your own AWS account, and all three numbers get compared honestly in one place, with the caveats that come from comparing genuinely different deployment models rather than pretending it is a clean single-variable test: https://b12n-oss.github.io/lambda-mvp-cljs/guide/cold-warm-boot.html All three are early releases. Feedback, especially from anyone who has poked at jank or Jolt before, is welcome.

Thanks for the comparison. Any particular reason why GraalVM wasn't of interest to you for this comparison?

I do have a few more to go but sure love to add them. @gentkr

πŸ‘ 1

Jank can use all of C++ ? Pretty sure there are c++ http clients no? Also, can't you just use the existing aws-lambda-cpp with jank? I would have assumed you can

I am new to Jank, and for this to work I think it must be in https://github.com/jank-lang/commons @didibus ?

no #C04DCFZKPJN πŸ₯Ί

The past few weeks I've been working on a couple of libraries that I released today 0.1.0 . They can be used together to make a nice front/backend stack. First is https://github.com/lambdaseq/relm: a simple, purely functional state management layer for ClojureScript applications, inspired by the Elm Architecture and re-frame and built on Replicant. The release includes the core runtime, Redux DevTools and time-travel debugging, form state management (react-hook-forms like), async query and data fetching support (tanstack query-like), and Reitit routing integration. Also has things other things like batch rendering etc. You can find more in the repo, it also contains a small example. Second is https://github.com/lambdaseq/fx: This is basically a "clone" of Scala's ZIO or Typescript Effect . It’s a lightweight, purely functional, modular effect system for Clojure and ClojureScript, with transparent pipelines, stack safe synchronous and asynchronous execution, typed failure channels, dependency injection, resource safety, retries, structured concurrency, scheduling, observability, JDBC, Ring, HTTP client, and Typed Clojure support. It also contains a small example that you can use. They both share the philosophy of having a good core that can be expanded with supporting libraries. All fancy features are just supporting libraries that a third party user could have built for himself. Using LLM and these two libraries i produced this https://github.com/conjurernix/relm-fx-conduit where you can see them in a slightly larger context.

4
🌳 5
πŸ‘€ 2