- Writing programs that produce programs
- Java examples
for
can be translated to while
foreach
can be translated to for
enum
can be translated to a class
- Lambda can be translated to class
- Common Lisp macros
- Extend language yourself
- Language features become libraries
- CLOS
- Ruby
- Generating classes at runtime
instance_eval
- Domain Specific Languages
- Regexes
- SQL
- Common Lisp’s
LOOP
and FORMAT
- React