jank is the native Clojure dialect with seamless C++ interop.

3.3K stars 130 forks 3.3K watchers C++ Mozilla Public License 2.0
clojure compiler cpp functional-programming jit language lisp llvm native programming-language
41 Open Issues Need Help Last updated: Aug 26, 2026

Open Issues Need Help

View All on GitHub
help wanted category:compiler

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:clojure-test-suite

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:tooling

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:clang

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:distribution

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:distribution

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:compiler category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:compiler

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:tooling

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:tooling

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

AI Summary: The `jank repl` crashes with LLVM-related assertion failures or errors when the `clojure.core/binding` special form is used inside `defn` or `fn` definitions. This occurs even with an empty `binding` vector, indicating a fundamental issue with how `jank`'s compiler handles `binding` within function compilation, potentially related to symbol generation or LLVM IR.

Complexity: 4/5
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:compiler

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:distribution

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:distribution

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
Fix AOT builds on Nix about 1 year ago
help wanted category:distribution

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
Add macOS support to CI about 1 year ago
help wanted category:distribution

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
Optimization epic about 1 year ago
help wanted

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:clang

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:compiler

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:compiler

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:compiler

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
help wanted category:runtime

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

AI Summary: Enhance the help output for Jank's subcommands, specifically the `jank run-main` command, to include information about global flags like `--module-path`. This involves identifying consistently displayed flags and ensuring their presence in the help text for all subcommands.

Complexity: 3/5
help wanted category:tooling

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

AI Summary: Implement parsing of sets within syntax quotes in the Jank compiler. This involves completing the `nyi: set` portion of the `jank::read::parse::processor::syntax_quote` function, ensuring consistency with how other collections are handled.

Complexity: 2/5
help wanted category:compiler

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

AI Summary: Modify the Jank lexer to treat the backslash followed by a space character (`\ `) as a single space character. This requires a relatively small change to the lexer's handling of escape sequences.

Complexity: 2/5
help wanted category:compiler

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language
Add unity builds to CI about 1 year ago

AI Summary: Integrate CMake's unity builds into the Jank project's CI workflow to accelerate compilation times. This involves modifying the CI configuration to enable unity builds, without affecting local development builds.

Complexity: 3/5
help wanted category:distribution

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

AI Summary: Resolve failing CI builds for the Jank project and address any clang-tidy code style issues that have been introduced. This involves debugging the CI pipeline and cleaning up the codebase to meet clang-tidy's standards.

Complexity: 4/5
help wanted category:distribution

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language

AI Summary: The task is to debug a Clojure compiler (Jank) that's generating incorrect LLVM IR when encountering a `try` expression within a `let*` form. The error manifests as a duplicate symbol definition, indicating a problem with the compiler's handling of closures or symbol scoping within the `try` block. The solution involves analyzing the provided LLVM IR, identifying the source of the duplicate symbol, and correcting the compiler's code generation for `try` expressions in `let*`.

Complexity: 5/5
help wanted

jank is the native Clojure dialect with seamless C++ interop.

C++
#clojure#compiler#cpp#functional-programming#jit#language#lisp#llvm#native#programming-language