Skip to content
Curated list of Clojure-like programming languages.
Branch: master
Clone or download
chr15m Merge pull request #9 from dbohdan/master
Add sci (Small Clojure Interpreter)
Latest commit de73b98 Aug 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information. add sci Aug 14, 2019 Updated contributing guidelines to mention sort order. Jul 9, 2019 More links from @kanaka. Feb 23, 2017

Mapping the constellation of Clojure-like programming languages.

Contribute. More.

Official variants



Hy is a wonderful dialect of Lisp that’s embedded in Python.

  • Try it.
  • Source code.
  • High level of interop with host language.
  • All of available Python tooling available.
  • Actively developed.


A small, fast, native lisp with "magical" powers.

  • Implemented in RPython.
  • Runs on own VM.
  • Dormant project.


Clojure implemented on the Erlang VM.

  • Try it.
  • Source code.
  • Interoperability as smooth as possible, just like Clojure proper and ClojureScript do.
  • Provide most Clojure abstractions.
  • Provide all Erlang abstractions and toolset.
  • Include a default OTP library in Clojerl.


A functional, statically-typed Lisp that will run on several platforms, such as the Java Virtual Machine and JavaScript interpreters.

  • Implemented in Clojure.
  • Inspied by Haskell, Clojure, ML.
  • Actively developed.


A little Clojure-like LISP in JavaScript.

  • Try it
  • Native JavaScript types and function calls.
  • Maintenance mode.


Joker is a small interpreted dialect of Clojure written in Go. It is also a Clojure(Script) linter.

  • Source code
  • Fast startup time.
  • Sane error messages and stacktraces.
  • Batteries included: send HTTP requests, read and parse JSON, work with file system, start external processes, etc.


A Hard Real-Time Clojure for Lisp Machines.

  • Implemented in Clojure.
  • Compiles to ISO C++11.
  • Restricted subset of Clojure.
  • Embedded systems focus.


A functional programming language that expands into JavaScript through a very thin layer of sweet.js macros.

  • Source code
  • Implemented in Javascript
  • Intermix LISP code with JavaScript.
  • Dormant project.


A Clojure dialect that compiles to native executable using the Clang compiler.

  • Self hosted.


Clojure-inspired Lisp that transpiles to Ruby.

  • Implemented in Ruby.
  • Tries to cover Ruby's functionality with more concise code forms.
  • Dormant project.


Modern Lisp variant inspired by Python, Clojure & Arc.

  • Implemented in C++.
  • Modern, OO, both statically & dynamically typed.
  • Dormant project.


TimL is a Lisp dialect implemented in and compiling down to VimL, the scripting language provided by the Vim text editor.

  • Implemented in Vim's scripting language.
  • Dormant project.


Apricot is a programming language inspired by Clojure and Lisp that runs on the Rubinius VM.

  • Implemented in Ruby.
  • Dormant project.


A functional programming language and interpreter written in GNU Bash 4.

  • Implemented in Bash 4.
  • Dormant project.


An OCaml compiler for an untyped lisp.

  • Implemented in OCaml.
  • Runs on the LLVM JIT.
  • Dormant project.

Small Clojure Interpreter

A tiny implementation of Clojure in Clojure.

  • Made to evaluate code from user input where eval is unsafe or unavailable.
  • Early development.

Mal make-a-lisp

Mal is a Clojure inspired Lisp interpreter. Mal is implemented in 63 languages.

Notable/usable implementations follow.


Mal (Make A Lisp) compiler

  • Compiler for Mal, written in Mal itself.
  • Compiles a Mal program to LLVM assembly language (IR), and then uses the LLVM optimizer, assembler and gcc linker to produce a binary executable.


A Delightfully Diminutive Lisp. Implemented in < 1 KB of JavaScript with JSON source.


  • Implemented in PHP.
  • Interop with & runs where PHP does.


  • Implements the #mal IRC bot.
You can’t perform that action at this time.