Bottoms Scheme implementation project
history | edit |

More links

This is a collection of links that might be relevant in unforeseen cases. See Reading for links that should be more directly interesting for the project.

Garbage collectors

Memory Pool System


(Boehm GC)


Real-world garbage collection with LLVM (Reddit)

(On LLVM’s GC Infrastructure)


Getting Started in *Lisp (1991), incl. Connection Machine Lisp etc.

The Esterel and Lustre programming languages

Small Lisps

Pixie (Clojure-inspired Lisp implemented in/on RPython)

A fast Lisp interpreter in Dart (HN)

(Kashmir, "a statically typed LISPy language that compiles to native code using Go" (HN))

Scheme 9 from Empty Space - A Guide to Implementing Scheme in C, Scheme 9 from Empty Space

PLisp (Apple II, i.e. 6502) (mentioned on HN)

uLisp - Lisp for the Arduino (HN)

Bone Lisp (HN)

Sild is a lisp dialect (HN) (intepreted, in C)

esp-lisp (lisp interpeter for a ESP8266)

PicoLisp (the dynamically scoped only (?) lisp from, including distributed database, logic, OS)

to JavaScript


Jisp (HN)

ki on top of sweet.js

Lisps on bare metal




The Future of the LispM (HN)


Urbit ?

Unusual Lisps

Game Oriented Assembly Lisp

WAM-CL: Common Lisp in Prolog ( (HN, Github)

Lispy skins

Lisp Flavoured Erlang (LFE),

LFGo: Lisp-Flavoured Go (HN)


Instruction sets

A No-Frills Introduction to Lua 5.1 VM Instructions

Understanding Python Bytecode

odd VMs

Z-machine, First Infocom Z-machine implemented in hardware ( (HN) (in Verilog/FPGA)

Sweet 16: The 6502 Dream Machine (1977) (more detail) (HN)

Mu (HN)


Swift Intermediate Language: LLVM conference slides (pdf) (HN); Rust HIR, MIR.

random other VMs

SqueakJS (HN)


Rich Hickey – Inside Transducers [video] (HN)


We're building the GNU system [HN]

The Y Combinator – A Crash Course on Lambda Calculus

(Binary lambda calculus)

Things I learned writing a JIT in Go (describes the Go ABI and other internals)

(Hylas / Corvus, a statically-typed, low-level dialect of Lisp that targets LLVM.)

(Graph of SICP chapters)

How to Design Programs, Second Edition (HN)

Annotated Version of John McCarthy’s Paper on Lisp ( (HN)

How to implement a programming language in JavaScript (HN)

Category Theory for the Sciences (HN)

Terra (C-like language embedded in Lua, kind of a Prescheme for Lua)

Scratching Forth, a compiler from Forth to Scratch (HN)

Odd languages


Grass the grass-planting programming language

False (from Cat's Eye Technologies: Esoteric Topics in Computer Programming from HN)


in Lisp

COMFY-6502, Sassy (from HN)

lithium (assembler for x86, using Clojure S-expressions)

L2 (HN)


An ASM Monad (HN)

(a brainfuck monad (HN))

(brainfuck optimization strategies (HN))


Adventures in JIT compilation (Brainfuck) HN, part1, part2

Scheme / Racket

(Fluxus: a Scheme engine for (3D) livecoding (HN))

Non-mainstream non-Lisp languages


Ela (HN)


Red-lang (HN)

Functional programming

Functional Programming Patterns (slides) (HN), updated (HN)

Object oriented programming

Dr. Alan Kay on the Meaning of “Object-Oriented Programming” (HN)

Meta languages


Programming paradigms

Synchronous programming language

Dataflow programming

More on monads


IO monad realized in 1965 (HN)

More on continuations

(Asynchronous Programming, Monads and Continuations in C#, F# and Scala)

Programming languages

(The A-Z of Programming Languages)

Programming language 'skins'

on BEAM (Erlang)

Elixir, HN: Metaprogramming Elixir

Macro implementations

Meta-programming JavaScript Using Proxies (HN) (new Proxy api in ecmascript6)


The Expression Problem and its solutions (Eli Bendersky) (HN) (Most of the mainstream programming languages don't provide good tools to add both new types and new operations to an existing system without having to change existing code. This is called the "expression problem".)

Type inference

An Explanation of Type Inference for ML/Haskell (HN)

Inference Convergence algorithm in Julia

Turing machines

Wang Tiles and Turing Machines

Virtual machines

(* Implementing a Virtual Machine in C, HN *)


A fundamental introduction to x86 assembly programming, alternatives in HN


The frozen TUNES project wiki for even more links (some of them potentially useful).