From: Christian Queinnec
Subject: Book on Lisp, Scheme, interpretation, implementation
Date:
Message-ID: <38obk0$efh@news-rocq.inria.fr>
I am happy to announce that my new book is published by
InterEditions and now available (in French). It is named
Les langages Lisp
and covers Lisp, Scheme and other related dialects, their interpretation,
semantics and compilation. To sum it up in a few figures:
500 pages
11 chapters
11 interpreters
2 compilers.
Here follows a sketch of the table of contents:
Chapter 1: The basic interpreter (eval expression environment).
Chapter 2: Name spaces and Recursion
Some new interpreters introducing lexical and/or dynamic binding,
single or multiple namespaces, various brands of global environments.
Chapter 3: Escape, Continuation
A bunch of control operators (catch/throw, block/return-from,
unwind-protect, call/cc) all explained through an interpreter
(eval exp env continuation) written in OO style.
Chapter 4: Side-effect
Assignment, data mutation and equality explained through another
interpreter (eval exp env cont memory) written with lambdas only.
Chapter 5: Denotational Semantics
A simple currying of the previous interpreter which now appears as
((eval exp) env cont mem). Numerous variants such as dynamic
binding, global environments.
Chapter 6: Fast interpretation
Precompile expressions to speed up interpretation. Introduce
runtime representations of environment and continuations through
various interpreters such as
((eval exp lexical.env) runtime.env continuation),
((eval exp lexical.env) runtime.env) and finally
((eval exp lexical.env)).
Chapter 7: ByteCode compilation
Compile expressions into byte-code instructions; invent registers,
PC, stack and the like with still another compiler/interpreter
(bytecode-run (bytecode-compile exp lexical.env))
Chapter 8: Eval and other reflective features.
A whole chapter on eval, its implementation and cost, in all the
previous interpreters/compilers. Also introduce first class
environments and a complete reflective interpreter.
Chapter 9: Macros
Everything you want to know on macros, macroexpansion, hygien etc.
in relation with (separate) compilation and interpretation.
Chapter 10: Compilation towards C
Another complete compiler from Scheme to C and its runtime in C.
Chapter 11: An Object System (Meroonet)
The innards of an Object system (based on Meroon) in Scheme.
There are also corrected exercices, a bibliography and an index.
All the programs (and some others) are available on:
ftp.inria.fr:INRIA/Projects/icsla/Books/LiSP94Sep05.tar.gz
It can alternatively be www'ed via
file://ftp.inria.fr/INRIA/Projects/icsla/WWW/LiSP.html
Good reading!
--
((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))
Christian Queinnec
INRIA Batiment 8
Domaine de Voluceau -- BP 105
78153 Le Chesnay Cedex
France
Internet: ··················@inria.fr
Tel: +33 1 39 63 57 33
Fax: +33 1 39 63 53 30
file://ftp.inria.fr/INRIA/Projects/icsla/WWW/Queinnec.html
((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))
From: Blake McBride
Subject: Re: Book on Lisp, Scheme, interpretation, implementation
Date:
Message-ID: <38ofuk$sl0@edge.ercnet.com>
> I am happy to announce that my new book is published by
> InterEditions and now available (in French). It is named
> Les langages Lisp
Any hope of an english version?