No description
Find a file
2021-10-03 17:03:58 +02:00
bin latest sectorlisp.bin 2021-10-03 16:24:53 +02:00
test test files added 2021-10-03 17:03:58 +02:00
.gitignore Initial import 2020-10-26 18:21:15 -07:00
LICENSE Fix LICENSE file name 2021-03-05 12:20:03 -08:00
lisp.c Eval based on LISP 1.5 manual, 509 bytes 2021-09-28 05:25:24 -07:00
lisp.h Eval based on LISP 1.5 manual, 509 bytes 2021-09-28 05:25:24 -07:00
lisp.lds Reduce sectorlisp from 948 to 856 bytes 2020-10-27 13:45:12 -07:00
lisp.lisp Reduce sectorlisp to 836 bytes 2021-02-04 01:18:34 -08:00
Makefile Eval based on LISP 1.5 manual, 509 bytes 2021-09-28 05:25:24 -07:00
README.md Reduce sectorlisp from 948 to 856 bytes 2020-10-27 13:45:12 -07:00
realify.sed Initial import 2020-10-26 18:21:15 -07:00
realify.sh Initial import 2020-10-26 18:21:15 -07:00
sectorlisp.S Eval based on LISP 1.5 manual, 509 bytes 2021-09-28 05:25:24 -07:00
start.S smaller Intern function 2021-09-28 02:43:05 -07:00

sectorlisp

sectorlisp is an effort to bootstrap John McCarthy's meta-circular evaluator on bare metal from a 512-byte boot sector.

Yo dawg, I heard you like LISP so I put a LISP in your LISP so you can eval while you eval

Motivations

Much of the information about LISP online tends to focus on wild macros, JIT compilation, or its merits as a better XML as well as a better JSON. However there's been comparatively little focus on the primary materials from the 1950's which emphasize the radically simple nature of LISP, as best evidenced by the meta-circular evaluator above.

Binary Footprint Comparison

This project aims to promote the radical simplicity of the essential elements of LISP's original design, by building the tiniest LISP machine possible. With a binary footprint less than one kilobyte, that's capable of running natively without dependencies on modern PCs, sectorlisp might be the tiniest self-hosting LISP interpreter to date.

We're still far off however from reaching our goal, which is to have sectorlisp be small enough to fit in the master boot record of a floppy disk, like sectorforth. If you can help this project reach its goal, please send us a pull request!

Demo

booting sectorlisp in emulator

The video above demonstrates how to boot sectorlisp in the blinkenlights emulator, to bootstrap the meta-circular evaluator, which evaluates a program for finding the first element in a tree.

You can watch the full demo on YouTube.