racket/collects/redex/examples
2010-05-24 09:19:48 -05:00
..
r6rs Brings the Redex examples documentation up to date (for 5.0 release) 2010-05-24 09:19:48 -05:00
racket-machine A lot of "MzScheme" -> "Racket"s. 2010-05-16 18:26:26 -04:00
arithmetic.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
beginner.rkt A lot of "DrScheme" -> "DrRacket"s. 2010-05-17 01:27:03 -04:00
church.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
combinators.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
compatible-closure.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
contracts.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
info.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
letrec.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
omega.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
pi-calculus.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
README Brings the Redex examples documentation up to date (for 5.0 release) 2010-05-24 09:19:48 -05:00
semaphores.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
subject-reduction.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
subst.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
threads.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
types.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00

The examples subcollection contains several small languages 
to demonstrate various different uses of PLT Redex:

  arithmetic.rkt: an arithmetic language with every
  possible order of evaluation

  beginner.rkt: a PLT Redex implementation of (much of) the
  beginning student teaching language.

  church.rkt: Church numerals with call by name
  normal order evaluation

  combinators.rkt: fills in the gaps in a proof in
  Barendregt that i and j (defined in the file) are
  a combinator basis

  compatible-closure.rkt: an example use of compatible
  closure. Also, one of the first examples from Matthias
  Felleisen and Matthew Flatt's monograph

  contracts.rkt: A core contract calculus, including blame, 
  with function contracts, (eager) pair contracts, 
  and a few numeric predicates

  letrec.rkt: shows how to model letrec with a store and
  some infinite looping terms

  omega.rkt: the call by value lambda calculus with call/cc.
  Includes omega and two call/cc-based infinite loops, one of
  which has an ever-expanding term size and one of which has
  a bounded term size.

  pi-calculus.rkt: a formulation of the pi calculus, following
  Milner's 1990 paper, "Functions as Processes"

  racket-machine: an operational semantics for (much of) Racket 
  bytecode

  r6rs: an implementation of the R6RS Scheme formal semantics

  semaphores.rkt: a simple threaded language with semaphores

  subject-reduction.rkt: demos traces/pred that type checks
  the term.

  threads.rkt: shows how non-deterministic choice can be
  modeled in a reduction semantics. Contains an example use
  of a simple alternative pretty printer.

  types.rkt: shows how the simply-typed lambda calculus's
  type system can be written as a rewritten system (see
  Kuan, MacQueen, Findler in ESOP 2007 for more).