A statically typed functional programming language
Clojure C++ Vim script Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
backend/c++ Add <= to static prelude Nov 27, 2016
benchmark/jank Add some benchmark todos Dec 26, 2016
bin
dev-resources
dev/jank
playground/jank/neo Bump to logic step 2 Oct 17, 2017
resources Allow optional names for fns Dec 28, 2017
src Allow optional names for fns Dec 28, 2017
test/jank/test
vim
.color_coded Rework codegen to put all definitions in #main Dec 28, 2015
.gitignore
.gitmodules
.travis.yml Use a coverage profile on travis Jan 1, 2017
BENEFITS
HISTORY
LICENSE Bump license Jan 1, 2017
README.md Update readme Oct 31, 2017
TODO
project.clj
travis.sh Add codecov support Dec 25, 2016

README.md

The jank programming language Build Status codecov

jank is a compiled functional programming language with a strong, static type system, scope-based resource management (RAII), and a direct focus on generic, compile-time meta-programming using a powerful type-based template system, dependent types, and code-as-data macros.

With a focus on safe parallelism, jank has immutable, persistent data structures.

Currently, jank aims to provide:

  • A compiler targeting C++14
  • An interactive REPL (command line and web-based)

Editor support

There are syntax files for Vim available in the vim directory of the repository. You can add these to your runtime path using something like:

set runtimepath^=~/projects/jank/vim
set runtimepath^=~/projects/jank/vim/after

License

jank is under a strict copyleft license; see the LICENSE file.