Microcontroller-based Lisp machine (minimum language needed)?

This page summarizes the projects mentioned and recommended in the original post on /r/lisp

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • ulisp

    A version of the Lisp programming language for ATmega-based Arduino boards.

    Have you looked at uLisp? Or perhaps Mezzano? The latter doesn't run on bare metal yet, but does have arm64 support.

  • dog

    DOG-1 : Danny's Obtuse Gadget (by danja)

    I've spent a fair bit of time around microcontrollers recently. But the idea of starting from scratch has stuck with me a bit, my early play with an Arduino was trying to emulate an old machine : https://github.com/danja/dog (rubbish code - I had no idea how to do concurrency)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • pil21-bare-metal

    Discontinued PicoLisp is an open source Lisp dialect. It is based on LLVM and compiles and runs on any 64-bit POSIX system. Its most prominent features are simplicity and minimalism.

    There's also https://github.com/Seteeri/pil21-bare-metal

  • lisp

    A mini Lisp in 1k lines of C with garbage collector, explained. Includes over 40 built-in Lisp primitives, floating point, strings, closures with lexical scope, macros, proper tail recursion, exceptions, execution tracing, file loading, a mark-sweep/compacting garbage collector and REPL. (by Robert-van-Engelen)

    Lately, we run Robert van Engelen's 1k Lisp on ESP32 and 8266 boards: https://github.com/Robert-van-Engelen/lisp but we started on his tiny Lisp: https://github.com/Robert-van-Engelen/tinylisp (which is 99 lines of C)

  • tinylisp

    Lisp in 99 lines of C and how to write one yourself. Includes 20 Lisp primitives, garbage collection and REPL. Includes tail-call optimized versions for speed and reduced memory use.

    Lately, we run Robert van Engelen's 1k Lisp on ESP32 and 8266 boards: https://github.com/Robert-van-Engelen/lisp but we started on his tiny Lisp: https://github.com/Robert-van-Engelen/tinylisp (which is 99 lines of C)

  • ribbit

    A small and portable Scheme implementation with AOT and incremental compilers that fits in 4K. It supports closures, tail calls, first-class continuations and a REPL.

    Marc Feeley's lab develops Ribbit Scheme, which is a tiny Scheme implementation. It is an AOT compile which produces a string of bytecode that is interpreted by a VM, of which there are various implementations. The one in C could be compiled to your target microcontroller and thus give you a Scheme REPL.

  • lispBM

    An interpreter for a concurrent lisp-like language with message-passing and pattern-matching implemented in C.

    An ESP32 should be fine, or stm32, or nrf52 for LBM (LispBM). Some RTOS to run it on is recommended, chibios, freertos or zephyr for example (not an absolute requirement). https://github.com/svenssonjoel/lispBM

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Mezzano

    An operating system written in Common Lisp

    Have you looked at uLisp? Or perhaps Mezzano? The latter doesn't run on bare metal yet, but does have arm64 support.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts