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?