Rustom Mody <rustompm...@gmail.com>: > Some rambly ruminations on switchable (aka firstclass) syntax > http://blog.languager.org/2015/04/poverty-universality-structure-0.html
I'll ruminate in response: * The awesomeness of lisp is in lambda calculus and not in macros. * Lisp syntax is actually not quite first-class: Guile: scheme@(guile-user)> let While compiling expression: ERROR: Syntax error: unknown location: let: bad let in form let Elisp: if Debugger entered--Lisp error: (void-variable if) eval(if nil) eval-last-sexp-1(t) eval-last-sexp(t) eval-print-last-sexp() call-interactively(eval-print-last-sexp nil nil) * Syntax is first-class in Kernel <URL: http://web.cs.wpi.edu/~jshutt/kernel.html>. Too bad Kernel chose a naming scheme (NPI) that makes it incompatible with scheme. * Beginning schemers are infatuated with defining new syntax (macros). What results is unreadable code. * The age-old lisp idea of application-specific languages is perfectly all right, though. And most to the point: * Even with its syntax machinery, the lisp parser will reject Python and C source code. Marko -- https://mail.python.org/mailman/listinfo/python-list