72 lines
2.5 KiB
Plaintext
72 lines
2.5 KiB
Plaintext
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).
|