Stealth Lisp

EricRaymond describes the LogoLanguage as a 'stealth LISP': it looks like a harmless toy language, but it is really a complete symbolic FunctionalProgramming language, like the LispLanguage.

Similarly JavaScript has been described as "Lisp in C's clothing" (although it also brought cool features from Self/NewtonScript into the mainstream). Some people don't agree with that.

In both cases the argument against Logo and JS as stealth lisps seems to come down to macros (though at least one Logo implementation apparently has macros, see below). People apparently disagree on whether a language can have the Lisp nature without macros. To some lispers they're fundamental (even though early lisps didn't have them). They didn't have macros, but they did have FEXPRs, which allowed for user defined special forms and metaprogramming, as LispMacros do. See LispOnePointFive


There is a case to be made that the PythonLanguage is a StealthSmalltalk?. PythonLanguage is pretty much a 'stealth LISP' if you import functional. Does python have macros? Have they fixed the problems with closures? Just curious, not coming down on python.... Nope and I don't think so, but then I don't think LogoLanguage has macros either (I may be wrong, its been so long).

At least one Logo implementation, BrianHarvey's Berkeley Logo, has macros.

What would macros need to do in PythonLanguage? I'm not sure what they do.

Same as in Lisp: allow you to extend the language to accommodate the needs of your problem domain. ("Need" might be too strong, since just about every other language there is gets by without macros as powerful as Lisp's. Python doesn't "need" macros, but perhaps it would "need" them if it wanted to be just-like-Lisp.)

I think the idea was that it might need them to be considered a StealthLisp...


What about obvious Lisp derivatives (that nonetheless lack EssExpressions) such as DylanLanguage or CecilLanguage?

I think StealthLisp refers to languages that are popular and mainstream despite being lispy... like they put one over on people.


Compare: LispByTheBackDoor

EditText of this page (last edited January 15, 2008) or FindPage with title or text search