racket/collects/redex/examples
Burke Fetscher 2a9d42216e redex-generator: determine bound order automatically
also, fix a bug where continuations in thunks returned
by redex-generator weren't being shuffled
2013-01-23 13:03:07 -06:00
..
cont-mark-transform Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
define-judgment-form redex-generator: determine bound order automatically 2013-01-23 13:03:07 -06:00
delim-cont add #:lang keyword to term, which checks that underscored symbols agree with patterns in the provided language...changed most internal uses of term to use this form 2012-08-08 11:09:01 -05:00
list-machine rename function scale-to-fit to avoid conflict 2012-08-22 22:47:50 -05:00
r6rs A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
racket-machine linebreaking adjustments for typographical reasons 2012-10-04 10:17:28 -05:00
arithmetic.rkt adjust beaucoup places in redex where the source was being 2012-02-08 09:59:44 -06:00
beginner.rkt added 'boolean' pattern to Redex 2012-11-30 19:17:27 -06:00
cbn-letrec.rkt Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
church.rkt Rackety 2011-01-17 17:19:37 -06:00
combinators.rkt Rackety 2011-01-17 17:19:37 -06:00
compatible-closure.rkt Rackety 2011-01-17 17:19:37 -06:00
contracts.rkt Rackety 2011-01-17 17:19:37 -06:00
info.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
letrec.rkt ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
omega.rkt ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
pi-calculus.rkt Rackety 2011-01-17 17:19:37 -06:00
README add the List Machine benchmark by Appel, Dockins, and Leroy 2011-12-10 01:34:58 -06:00
semaphores.rkt Rackety 2011-01-17 17:19:37 -06:00
stlc.rkt provide language, reduction relation, and typing judgment from stlc.rkt 2012-10-21 19:55:53 -05:00
subject-reduction.rkt Rackety 2011-01-17 17:19:37 -06:00
subst.rkt Rackety 2011-01-17 17:19:37 -06:00
threads.rkt Fixes a bug in the deref rule 2011-03-29 16:05:54 -05:00
types.rkt ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04: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.

  cbn-letrec.rkt: the definition of evaluation contexts in Ariola and
  Felleisen's call-by-need letrec calculus

  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

  cont-mark-transform/: the continuation mark transformation from
  McCarthy's ICFP '09 paper “Automatically RESTful Web Applications
  Or, Marking Modular Serializable Continuations" 

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

  define-judgment-form: example uses of `define-judgment-form'

  delim-cont/: The model from Flatt, Yu, Findler, and Felleisen's ICFP
  '07 paper "Adding Delimited and Composable Control to a Production
  Programming Environment"

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

  list-machine/: the List Machine benchmark by Appel, Dockins, and
  Leroy.

  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

  stlc.rkt: a semantics for a typed CBV language with multi-argument
  functions, conditionals, and addition

  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).