[plt-scheme] Python Too Dynamic?

From: Michael Vanier (mvanier at cs.caltech.edu)
Date: Fri Dec 31 01:57:16 EST 2004

> Cc: plt-scheme at list.cs.brown.edu
> From: Matthias Felleisen <matthias at ccs.neu.edu>
> Date: Wed, 29 Dec 2004 17:28:10 -0500
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> Steve, we (PLT people) have been teaching the construction of Scheme 
> interpreters in Scheme for, oh, about two decades now. So don't let 
> those Pythonistas fool you in the Python in Python thingie. Every 
> undergraduate from our courses knows how to do that.

Note, though, that just from a syntactic standpoint it's much harder to
implement Python in Python than it is to implement Scheme in Scheme because
there's so much more syntactic sugar in Python than in Scheme.  I would say
that one of the defining features of Lisp-like languages is that they are
the languages in which writing a metacircular evaluator (X implemented in
X) is easiest.  Looking at McCarthy's original Lisp paper shows (in which
he writes a metacircular evaluator) suggests that this was one of the goals
of the language (although McCarthy's evaluator used somewhat more
complicated M-expressions instead of Scheme-like S-expressions).  This was
also long before macros hit the scene.

Mike (who likes both Python and Scheme)

Posted on the users mailing list.