Functional Programming in Scheme Linguistic abstraction
Why 'Lisp in Lisp'
In this section we will look at a principled implementation of Lisp in Lisp.
In concrete terms we will study a partial Scheme implementation in Scheme itself.
Why do we study an implementation of Scheme in Scheme?
Motivations:
To illustrate the idea of linguistic abstraction in Lisp
Lisp is both the implementation language and the new language
To understand the overall principles of interpreters
To illustrate the use of important Lisp implementation concepts, such as environments
To provide a playground that provides for easy experimentation with the semantics of Scheme
We will refer to a concrete Scheme implementation from the book 'Structure and Interpretation of Computer Programs' (SICP).