An open API service indexing awesome lists of open source software.

awesome-lisp-languages

A list of Lisp-flavored programming languages
https://github.com/dundalek/awesome-lisp-languages

Last synced: 6 days ago
JSON representation

Classification

Languages

C#

  • Clojure CLR - C] great for game development with arcadia and unity
  • RainLisp - B] inspired by Scheme, interpreted, can be used as DSL integrating with .NET

C/C++

  • Ferret - C] aimed towards embedded systems
  • Janet - B] embedable, large standard library, GC
  • Jank - C] LLVM-hosted, Clojure-compatible, type-analysis, JIT
  • Maru - B] minimal self-hosting lisp, multimethods, user-defined types and structures, GC
  • C-Mera - A] also includes extensions to generate code to run on CUDA, GLSL
  • Cakelisp - A] performance-oriented, good for game development, compiles down to C/C++, macros and compile-time code modification
  • Carp - B] statically typed, no GC (Rust-like borrow checking)
  • Dale - B] Lisp-flavoured C with additional features, no GC, LLVM backend
  • Extempore - S] designed for live coding and music performances, temporal scheduling based on audio card sample rate
  • FemtoLisp - S] scheme-like lisp, powers the compiler of the Julia language
  • jo_clojure - C] Fast Embeddable Clojure in C/C++, including persistent datastructures and STM
  • Lcc - A] Lisp-like syntax for writing C
  • Liz - A] written as EDN, compiles to Zig, customizable memory allocators, native binaries for many architectures
  • Owl Lisp - S] dialect of the Scheme, code can be interpreted or compiled into C files
  • Toccata - C] Clojure-inspired, gradually typed, no nil values, reference counting, compiles into native binaries
  • Pre-Scheme - S] statically typed Scheme dialect, compiles to C, type inference, no GC, designed for systems programming

Common Lisp

  • CLISP - L] uses bytecode compiler, easily portable
  • Clozure CL - L] fast compilation speed, native threads, precise generational compacting garbage collector, convenient foreign-function interface
  • additional implementations
  • Clasp - L] compiled using LLVM, seamless integration with existing libraries
  • Coalton - L] efficient, statically typed functional programming language that supercharges Common Lisp
  • ECL - L] embeddable and portable, can build standalone executables
  • ECL - L] embeddable and portable, can build standalone executables
  • SBCL - L] high performance native code compiler, native threading support, type inference engine

Dart

  • ClojureDart - C] clojure dialect for Flutter and Dart

Erlang

Fortran

  • fscheme - S] small scheme interpreter written in Fortran 95
  • Schemetran - A] Expressing Fortran computations in Scheme, compiles to readable Fortran code

Go

  • Joker - C] interpreter, linter, great for scripting, Go interop is very limited
  • Slick - L] Lisp/Scheme-style s-expression surface syntax for the Go programming language
  • Zygo - B] embedable, call into native Go using reflection, optional infix syntax
  • ZYLISP - A] simple Lisp that compiles to Go (source or bytecode)
  • let-go - C] compiler, bytecode VM, Go interop, small footprint, fast booting

Java

  • Kawa - S] scheme implementation (R7RS)
  • ABCL - L] CL interpreter and compiler, embedable using Java scripting API (JSR-223)
  • Armed Bear Clojure - C+L] Common Lisp embedded in Clojure via ABCL
  • Venice - C] Clojure-inspired, sandboxed, Java interop, 800+ builtin functions
  • ABCL - L] CL interpreter and compiler, embedable using Java scripting API (JSR-223)

JavaScript

  • BiwaScheme - S] compact Scheme written in JavaScript, integrates well with web browsers and Node
  • ClojureScript - C]
  • JACL - L] extended subset of Common Lisp, async reader and REPL development workflow
  • Whalesong - S] Racket to JavaScript compiler
  • eslisp - A] S-expression syntax for ECMAScript/JavaScript, Lisp-like macros
  • Lumen - A] self-hosted Lisp for Lua and JavaScript, uses arrays as first-class datastructures
  • Parenscript - L] Common Lisp to JavaScript translator, native JS types, native calling convention
  • RacketScript - S] Racket to JavaScript compiler, interop with both Racket and JS ecosystem
  • Squint - C] Squint is a light-weight dialect of ClojureScript with a compiler and standard library
  • Valtan - L] Common Lisp to JavaScript compiler
  • Parenscript - L] Common Lisp to JavaScript translator, native JS types, native calling convention

Julia

  • LispSyntax.jl - A] Clojure-like lisp syntax to Julia translator with convenience macros, uses Julia's compiler and JIT

Lua

  • Fennel - A] full Lua compatibility, embedable, compiled code with no runtime dependency
  • Urn
  • LCL - L] Lua Common Lisp is an implementation of Common Lisp targeting the Lua language

Multi Lang

  • Bigloo - S] compiles into native binaries, interop with C, JVM, .NET
  • Shen - B] implementations in many programming languages, builtin pattern-matching and logic programming, optional static typing and lazy evaluation
  • Lux - B] functional, statically-typed Lisp that will run on several platforms
  • Mal
  • Ribbit - S] small and portable Scheme implementation (R4RS, 4 KB footprint), AOT and incremental compilers, targets C, JavaScript, Python and Scheme
  • Wax - A] tiny programming language, strongly statically typed, manual memory management, transpiles to C, C++, Java, TypeScript, Python, C#, Swift, Lua and WebAssembly
  • Zick Standard Lisp
  • STELLA - strongly typed, object-oriented, compiles down to Common Lisp, C++, or Java

Objective-C

  • DreamLisp - B] Clojure-inspired, originally based on MAL, added modules, lazy collections
  • nu

OCaml

PHP

  • Phel - C] Phel is a functional programming language that compiles to PHP.

Python

  • Hy - A] compiles to Python AST, use Python ML libraries, runs on PyPy
  • Hissp - A] compiles to a functional subset of Python, macro metaprogramming with Python ecosystem
  • Pixie - B] Clojure inspired, written in RPython, custom GC and JIT
  • Basilisp - C] Clojure-compatible, targeting Python3.6+

R

  • llr - C] Clojure inspired, in R compiles and interops with R

Rust

  • BLisp - B] statically typed scripting language, type inference, algebraic data types, generics
  • Ketos - B] scripting and extension language for Rust programs, compiled to bytecode
  • Rustly - C] transpiler, only small subset of Clojure supported
  • Steel - S] embedded scheme interpreter in Rust, inspired by Racket

Scheme

  • Chez Scheme - S] compiles to native binaries, among the fastest available Scheme implementations, R6RS
  • Chicken Scheme - S] produces portable and efficient C, supports R5RS and R7RS (work in progress)
  • Guile - S] embedable, useful for extending programs with scripting
  • Racket - S] large standard library, powerful macro system, includes DrRacket IDE
  • additional implementations - benchmarks/).
  • Cyclone - S] Scheme-to-C compiler, R7RS, native threading support, generates fast native binaries
  • Microscheme - S] Scheme subset for microcontrollers (like Arduino boards)
  • Loko Scheme - S] runs on bare hardware
  • additional implementations - benchmarks/).

Shell

  • Gherkin - B] (dormant) implemented in Bash, shell interop

VHDL

  • Vhdl Lisp - alternative s-expression based notation to describe programmable integrated circuits (FPGAs)

WASM

  • Arboreta WASM
  • clj-wasm - A] Clojure-flavored WASM's text format
  • Hoot - S] ahead-of-time compiler for R7RS-small Scheme, aiming to support all of Guuile
  • Schism - S] self-hosting compiler from a subset of R6RS Scheme to WebAssembly
  • WebAssembly Scheme - S] partial implementation of R7RS scheme, written using WebAssembly Text format

Misc

WASM