iridanius / jank

A Clojure dialect on LLVM with gradual typing, a native runtime, and C++ interop

Home Page:https://jank-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The jank programming language Build Status codecov Sponsor

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: jank-lang#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.

About

A Clojure dialect on LLVM with gradual typing, a native runtime, and C++ interop

https://jank-lang.org

License:Mozilla Public License 2.0


Languages

Language:C++ 97.0%Language:Meson 1.9%Language:Nix 1.0%Language:Shell 0.1%Language:Vim Script 0.1%