Lecture overview -- Keyboard shortcut: 'u'  Previous page: Course home pages ala Course Plan -- Keyboard shortcut: 'p'  Next page: Lisp in Lisp [Section] -- 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 17 : 22
Functional Programming in Scheme
Linguistic abstraction
Embedding versus mirroring

How does a list-embedding of new language in Scheme compare to a mirroring of the language Scheme?

Embedding in Scheme

Mirroring in Scheme

New language fragments are represented as lists

New language fragments are represented as Scheme expressions

Many different interpretations can be provided for

The most typical transformation is 'built in', as obtained by evaluation of the Scheme expression

Processing requires a specialized interpreter

The (first level of) processing is done by the standard Scheme interpreter

Relatively awkward to combine with use of higher-order functions

Mixes well with higher-order functions