Skip to content

Instantly share code, notes, and snippets.

@fogus
Last active December 6, 2018 21:29
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fogus/5018273 to your computer and use it in GitHub Desktop.
Save fogus/5018273 to your computer and use it in GitHub Desktop.

Chez Scheme

http://www.cs.indiana.edu/~dyb/pubs/hocs.pdf

Precursor systems

  • SDP (with Rex Dwyer)
  • Z80 Scheme (with George Cohn)
  • C-Scheme
  • Data General Common Lisp (with Rob Vollum, others)

Display (Flat) Closures

  • Inspired by Algol 60 displays (Randell and Russell)*
    • bank of pointers replacing static chain

Compilation

  • compile “on the fly” ala Cardelli’s ML
  • forget interpretation

Related

There have been a number of Lisps on 8-bit systems, and most of them ran on a single-bank machine, so all code, data and runtime environment must have fit into 64k (but they probably had really limited number support — a modern CPU would at least get floating point numbers for free!) I’ve found references to the following:

  • VLisp, Jérôme Chailloux, 1979
  • Le Lisp 80, Jérôme Chailloux, 1983 (Z80 assembler source available, targets many 8 bit systems including CP/M)
  • Toolworks LISP/80, Walt Bilofsky, for Z80 under CP/M
  • InterLisp/65 for the Atari 6502 machines
  • Acornsoft Lisp for the BBC 6502 machines, 1984
  • SpecLisp, Serious Software, for the ZX Spectrum, 1983
  • P-Lisp, Gnosis Software, for Apple 6502 machines, 198x
  • Z80 Scheme, by Ken Dybvig and George Cohn, mentioned in The Development of Chez Scheme

The Dream interpreter is written in x86 assembler and the executable is 38k (but depends on libc.so and libdl.so): http://www.stripedgazelle.org/joey/dream.html

(from Thomas Munro)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment