Scheme code for language implementation

This section contains programming language implementation-related Scheme code, including parsers, implementations of miscellaneous extensions to Scheme, programming languages implemented in Scheme, etc.

  • The DEC Thomas->Scheme compiler, by Matt Birkholz, Jim Miller, Ron Weiss and others (Thomas-1.0.tar.gz).
  • An interpreter for an augmented term rewriting system, taken from the book Constraint Programming Languages - Their Specification and Generation, by Wm Leler. (atr.scm). Provided by Stephen J. Bevan.
  • The Bob system, by Jim Miller et al., which provides an "Algol-esque syntax" for Thomas (bob.tar.gz).
  • An LL1 grammar checker with an LL(k) grammar for ANSI C, by Mohd Hanafiah Abdullah (cgram-ll1).
  • A small, optimizing scheme compiler by Marc Feeley and Guy LaPalme (compil.scm).
  • A translation of the constraint system first published in Steele, Guy Lewis Jr., "The Definition and Implementation of a Computer Programming Language Based on Constraints", MIT Artificial Intelligence Laboratory TR-595, August 1980 (constraint.tar.gz). The translation is written for the current distribution of MIT Scheme.
  • Earley's parser, by Marc Feeley (earley.scm). Requires tree.scm
  • R. Kent Dybvig's extend-syntax: original code, MIT Scheme version, posted MacScheme version, examples (ext-syntax.tar.gz).
  • Chez code for Iswym dialect of Scheme, by Dorai Sitaram (iswym.tar.gz), which implements the control operators runh and control.
  • An implementation of Common Lispish keyword, optional and rest arguments by Bryan O'Sullivan (keyword.scm).
  • An LALR(1) parser generator, by Mark Johnson (lalr.tar.gz).
  • Another LALR(1) parser generator, by Dominique Boucher (lalr-scm.tar.gz).
  • An interpreter for the lambda calculus, by Olivier Besson (lambda.scm).
  • Pierre Bonzon's metacircular evaluator for a logical extension of scheme (logscheme.scm)
  • Several implementations of the proposed macro system in the appendix to the R4RS report
  • By Will Clinger (macros.will.tar.gz).
  • (cr-macro.tar.gz).
  • By Richard Kelsey and Jonathan Rees (simple-macros.tar.gz).
  • An implementation of the low-level macro facility by Antoine Dumesnil de Maricourt (r4rs-low-macro-1.0.tar.gz).
  • By Robert Hieb and Kent Dybvig (r4rs-syntax.tar.gz).
  • A Common Lisp-style optional argument interface, by Richard A. O'Keefe (optional.scm)
  • The second pass of Scheme 313 compiler, by Will Clinger (pass2.tar.gz).
  • A multi-threaded kernel that provides a pcall facility, an implementation of futures and suspensions, and a high-level control operator that allows the definition of partial continuations (pcall.tar.gz). By Christian Queinnec.
  • A toy partial evaluator, by Marc Feeley (peval.scm).
  • PLScheme: A virtual machine and compiler developed by Jonathan Rees in 1988 for Dave Gifford's graduate programming languages class (6.821) at MIT. The code is written in scheme. Also included is two-part documentation in LaTeX (plscm.tar.gz).
  • A toy type inferencer for Scheme, by Marc Feeley (polytype.scm).
  • George Carrette's pratt parser, based on Vaughan Pratt's "Top Down Operator Precedence" (pratt.scm).
  • Cleary's Scheme Prolog 1.2, a prolog interpreter in Scheme. Includes an interval-arithmetic package, user's guide and implementation doc. (prolog1.2.tar.gz)
  • A simple implementation of get, put, remprop by Ozan Yigit (prop.scm).
  • A hash-table implementation of get and put, by Marc Feeley (proplist.scm).
  • Burt Leavenworth's Proxy system v1.5, an interpreter for a specification, design and rapid prototyping language based on VDM (Vienna Development Method) (proxy.tgz).
  • Dorai Sitaram's Prolog-in-Scheme (schelog2.tar.gz).
  • Mitch Wand's SLLGEN, an LL(1) lexer/parser generator (sllgen.tar.gz).
  • Mitch Wand's Semantic Prototyping System (sps.tar.gz). Includes patches to run under MIT Scheme.
  • Chris Hanson's syntactic closures low-level macro facility (synclo.tar.gz). The description from Lisp Pointers IV(4), 9-16, December 1991 (synclo.ps.gz) is available as well.
  • The Syntax case macro system, by R. Kent Dybvig and Bob Hieb (syntax-case.tar.gz).
  • Aubrey Jaffer's IEEE/R^4RS compliance test (test.scm). Note that this is not an exhaustive test
  • A LALR(1) parser system, by William M. Wells. Known to run on PC-Scheme and MIT C-Scheme (zebu.tar.gz).
  • A lexical analyser generator for Scheme, by Danny Dube. (silex.tar.gz).

  • The Internet Scheme Repository
    scheme-repository-request@cs.indiana.edu