Programming Languages and Systems - ESOP '94

Programming Languages and Systems - ESOP '94
Author: Donald Sannella
Publisher: Springer Science & Business Media
Total Pages: 532
Release: 1994-03-23
Genre: Computers
ISBN: 9783540578802

This volume contains the papers selected for presentation at the fifth European Symposium on Programming (ESOP '94), which was held jointly with the 19th Colloquium on Trees in Algebra and Programming (CAAP '94) in Edinburgh in April 1994. ESOP is devoted to fundamental issues in the specification, design and implementation of programming languages and systems. The scope of the symposium includes work on: software analysis, specification, transformation, development and verification/certification; programming paradigms (functional, logic, object-oriented, concurrent, etc.) and their combinations; programming language concepts, implementation techniques and semantics; software design methodologies; typing disciplines and typechecking algorithms; and programming support tools.

Lisp in Small Pieces

Lisp in Small Pieces
Author: Christian Queinnec
Publisher: Cambridge University Press
Total Pages: 540
Release: 2003-12-04
Genre: Computers
ISBN: 1139643282

This is a comprehensive account of the semantics and the implementation of the whole Lisp family of languages, namely Lisp, Scheme and related dialects. It describes 11 interpreters and 2 compilers, including very recent techniques of interpretation and compilation. The book is in two parts. The first starts from a simple evaluation function and enriches it with multiple name spaces, continuations and side-effects with commented variants, while at the same time the language used to define these features is reduced to a simple lambda-calculus. Denotational semantics is then naturally introduced. The second part focuses more on implementation techniques and discusses precompilation for fast interpretation: threaded code or bytecode; compilation towards C. Some extensions are also described such as dynamic evaluation, reflection, macros and objects. This will become the new standard reference for people wanting to know more about the Lisp family of languages: how they work, how they are implemented, what their variants are and why such variants exist. The full code is supplied (and also available over the Net). A large bibliography is given as well as a considerable number of exercises. Thus it may also be used by students to accompany second courses on Lisp or Scheme.