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

Reply via email to