Lecture overview -- Keyboard shortcut: 'u'  Previous page: Lisp in Lisp [Section] -- Keyboard shortcut: 'p'  Next page: An overview of Scheme constructs -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Textbook -- Keyboard shortcut: 'v'  Help page about these notes  Alphabetic index  Course home  Lecture 6 - Page 19 : 22
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).