|  | Linguistic abstraction - slide 3 : 22 | 
 Linguistic abstraction in Lisp
 The are several possible approaches to linguistic abstractions in Lisp
 - Incremental approaches
 - Each new construct is defined by a function or a macro
 - Macros are used for new surface syntax, and in cases where evaluation order issues prevent use of functions
 
  - Fine grained linguistic abstraction
 
  - Total approaches
 - Writing an interpreter for the new language    or
  - Translating the new language to an existing language (compilation)
  - Coarse grained linguistic abstraction