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




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




switch between writing and reading (syntax / no syntax)


projectional editor?


switch views quickly?