jank
jank copied to clipboard
A Clojure dialect hosted on LLVM with native C++ interop
The jank programming language
![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/jeaye&color=red)
jank is a Clojure dialect which aims to offer the best of both worlds: dynamic and static. For both of these worlds, jank uses a single runtime, so the transition from one to the other is not only seamless, it can be gradual.
https://jank-lang.org
Building locally
NOTE: jank is not very buildable right now. It's also not very usable right now. See this issue for details: https://github.com/jeaye/jank/issues/7
Use Nix. After cloning, use nix-shell
to enter an environment with all necessary deps. The Nix shell will also set up
some bash functions for you.
-
jank-configure
-- For setting up the project. -
jank-compile
-- For one-off compilation. -
jank-test
-- For one-off testing. -
jank-watch-tests
-- For test hot reloading on save.
Release
A typical release build just needs the following:
$ jank-configure
$ jank-compile
Debug
To make a debug build, specify the build type when configuring.
$ jank-configure -Djank_build_type=debug
$ jank-compile
License
jank is under a strict copyleft license; see the LICENSE file.