Skip to content
/ lisp0 Public
forked from descent/lisp0

a bare minimum remake of origin LISP

Notifications You must be signed in to change notification settings

yiyuaner/lisp0

This branch is up to date with descent/lisp0:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7aab075 · Mar 15, 2016

History

1 Commit
Mar 15, 2016
Mar 15, 2016
Mar 15, 2016
Mar 15, 2016
Mar 15, 2016
Mar 15, 2016

Repository files navigation

LISP0

A bare minimum remake of origin LISP on Linux x86-64.

Run example [1]

$ make
$ cat example.in | ./lisp0.elf | diff example.out -

It is static linked without crt, using TLSF [2] memory allocator, and one-pass mark-sweep garbage collector [3] . Short symbols, less than 8 bytes, are base64 decoded to fit in 6 bytes.

[1]Example code are taken from The Roots of Lisp http://lib.store.yahoo.net/lib/paulgraham/jmc.ps
[2]TLSF: a New Dynamic Memory Allocator for Real-Time Systems http://www.gii.upv.es/tlsf/files/ecrts04_tlsf.pdf
[3]One Pass Real-Time Generational Mark-Sweep Garbage Collection http://www.erlang.se/publications/memory1995.ps

About

a bare minimum remake of origin LISP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.5%
  • Assembly 1.5%
  • Makefile 1.0%