Lecture 6 - Page 14 : 22
Functional Programming in Scheme
Linguistic abstraction
* Introduction to linguistic abstraction
Linguistic abstraction
Linguistic abstraction in Lisp
Fine grained linguistic abstraction in Lisp
An example of fine grained abstraction
Coarse grained linguistic abstraction in Lisp
An example of coarse grained abstraction
* Language embedding
Embedded languages
Examples of language embedding in HTML
Course home page embedding in Scheme
* Language Mirroring
Mirrored Languages
Course home page mirroring in Scheme (1)
Course home page mirroring in Scheme (2)
Course home pages ala Course Plan
Embedding versus mirroring
* Lisp in Lisp
Why 'Lisp in Lisp'
An overview of Scheme constructs
Scheme in Scheme
The
eval
and
apply
primitives
Course home page mirroring in Scheme (1)
The simple course home page is mirrored as an XML language in Scheme and LAML
Steps involved in the mirroring process:
Write an XML DTD of the language
Parse the XML DTD to a Scheme data structure
Synthesize the mirror of the language by the XML-in-LAML mirror generation tool
When using the course home page language, load the mirror as a Scheme library
The course home page DTD.
The DTD is essentially a context free grammar of the new XML language. XML DTDs are a heritages from SGML (The Standard Generalized Markup Language).
The script that parses the DTD.
The script that generates the mirror.
The mirror in Scheme of the course home page.