2
0

Тайлбар байхгүй

Alain Greppin cbb4ecc4d5 test files added 3 жил өмнө
bin b77c74543d latest sectorlisp.bin 3 жил өмнө
test cbb4ecc4d5 test files added 3 жил өмнө
.gitignore a561e031ae Initial import 4 жил өмнө
LICENSE 2c1ddc26da Fix LICENSE file name 4 жил өмнө
Makefile 3b26982d9c Eval based on LISP 1.5 manual, 509 bytes 3 жил өмнө
README.md 665668a7a0 Reduce sectorlisp from 948 to 856 bytes 4 жил өмнө
lisp.c 3b26982d9c Eval based on LISP 1.5 manual, 509 bytes 3 жил өмнө
lisp.h 3b26982d9c Eval based on LISP 1.5 manual, 509 bytes 3 жил өмнө
lisp.lds 665668a7a0 Reduce sectorlisp from 948 to 856 bytes 4 жил өмнө
lisp.lisp 8a29ec3b23 Reduce sectorlisp to 836 bytes 4 жил өмнө
realify.sed a561e031ae Initial import 4 жил өмнө
realify.sh a561e031ae Initial import 4 жил өмнө
sectorlisp.S 3b26982d9c Eval based on LISP 1.5 manual, 509 bytes 3 жил өмнө
start.S 333c5efba4 smaller Intern function 3 жил өмнө

README.md

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.