New to Python - block grouping (spaces)

Marko Rauhamaa marko at pacujo.net
Sat Apr 25 09:27:15 CEST 2015


Rustom Mody <rustompmody at 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



More information about the Python-list mailing list