Little or No Syntax

                                                               
  

Common Lisp has little or no syntax

                                                             
  

I find it easier to think of CL as a sexp-based assembly language

                                                             
  

CL uses “)” instead of “end <...>”

                                                             
                                                                

Lots of syntax

                                                               
  

Algol, Pascal, etc.

                                                             
  

“end if”, “end loop”, etc.

                                                             

Syntax – pros

                                                               
  

Allows checking code for one class of error

                                                             
  

easy, well-understood

                                                             

Syntax – cons

                                                               
  

noise

                                                             
  

syntactic sugar is noise

                                                             
  

noise hurts maintenance / understandability

                                                             
  

Syntactic sugar sugar needed by syntax checker but not needed after syntax checking

                                                             
  

To maintain / upgrade, one must understand the design and the code and implication of changes ; syntax check is mostly unnecessary in the larger scheme (of understanding)

                                                             

Syntax for Writing

                                                               
  

use lots of syntax to ensure well-formedness

                                                             

Syntax for Reading

                                                               
  

don’t need syntax checking after code has been compiled and checked

                                                             

Editor

                                                               
  

switch between writing and reading (syntax / no syntax)

                                                             
  

projectional editor?

                                                             
  

switch views quickly?