Please link to https://book.jank-lang.org/ for anything related to the jank alpha. I wasn't quite ready to announce the alpha, but I appreciate that folks are excited. :)
There's just a couple more compiler features I wanted to get merged, but everything should be in order for folks to follow the book and try jank out.
Hi! I'm excited about jank and so I'm excitedly reading through the book you just linked. I noticed some grammatical errors. Will you consider PRs to the `book` section of the code, or would you prefer feedback in some other format in order to better maintain your authorial voice?
Hi! I'm happy to accept grammatical PRs to the book. You could also report issues via Slack or Github issue. I will not be accepting larger PRs to the book, to maintain a consistent voice.
No full-lang static type system. jank has seamless C++ interop and all interop is statically typed, but as soon as things get back into Clojure land, it's all dynamically typed and hella polymorphic.
I will be exploring optional static typing modes for jank in the future, a la Carp. That will not be this year, though.
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.
Please link to https://book.jank-lang.org/ for anything related to the jank alpha. I wasn't quite ready to announce the alpha, but I appreciate that folks are excited. :)
There's just a couple more compiler features I wanted to get merged, but everything should be in order for folks to follow the book and try jank out.
Hi! I'm excited about jank and so I'm excitedly reading through the book you just linked. I noticed some grammatical errors. Will you consider PRs to the `book` section of the code, or would you prefer feedback in some other format in order to better maintain your authorial voice?
Hi! I'm happy to accept grammatical PRs to the book. You could also report issues via Slack or Github issue. I will not be accepting larger PRs to the book, to maintain a consistent voice.
Cool! I'm still reading, but when I'm done I'll open a PR for the few small issues I've seen.
Thanks for your work on jank! I hope the Alpha brings you lots of new users, useful bug reports, and some contributors. :)
Accompanying book: https://book.jank-lang.org/
Is there a static type system included/inferred?
Couldn’t not find the answer
No full-lang static type system. jank has seamless C++ interop and all interop is statically typed, but as soon as things get back into Clojure land, it's all dynamically typed and hella polymorphic.
I will be exploring optional static typing modes for jank in the future, a la Carp. That will not be this year, though.
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/
It is implementing Clojure which does not have static typing so my strong assumption would be no
Clojure offers static typing as a library.
I thought someone named Jank Lang found investment alpha.
For a second, I misread and thought it was going to be about this guy https://en.wikipedia.org/wiki/Jack_Lang_(French_politician)