Hacker News new | ask | show | jobs
by pxc 165 days ago
As a dialect of Clojure, it's a dynamically typed language. But its designer has expressed interest in eventually adding static type checks via a gradual typing system¹:

> I mentioned that a native Clojure is the first step toward my dream language. Indeed, it doesn't stop there. jank will always be a Clojure dialect, but it will also optionally support more. Features like gradual typing (maybe linear typing), more explicit memory management, value-based errors, and stronger pattern matching, to name a few, improve upon Clojure. This will allow another axis of control, where some parts of the program can remain entirely dynamic and garbage collected while others are thoroughly controlled and better optimized. That’s exactly the control I want when programming.

--

1: https://jank-lang.org/blog/2025-01-10-i-quit-my-job/

1 comments

Oh man, as someone who used to contribute to a statically typed lispy language this would be the dream for me.
there's always carp lang but no gc
That's the language I was talking about :)

But none of us have worked on it in a while.

Carp is great and I would love to include a mode of jank which is very much Carp-esque. If you're interested in working together on this, please let me know.
Most of my contributions were to the stdlib so my knowledge of the implementation of the type system is limited sadly.

Maybe Erik, the creator, would be interested. I know he was looking at rewriting Carp in cpp at some point.

It's too bad. I was looking at it the other day, looks really interesting.
It's still a fun language to play with :)

My favourite thing was to run it on all kind of microcontrollers as you could just emit C. Wrote a small GBA game with it.