Which is the best implementation of LISP family of languages for real world programming ?

fortunatus daniel.eliason at excite.com
Thu Jun 10 21:31:33 EDT 2010


On Jun 10, 8:24 pm, p... at informatimago.com (Pascal J. Bourguignon)
wrote:
> What applets?  Have you ever seen a java applet?  Last time I saw one
> it must have been fifteen years ago.


I have a Java applet that I use for GUI front end on some of my Lisp
work - when HTML forms and pages aren't enough because I want to push
to the display.  It reads strings from a TCP socket connected back to
the Lisp application.  I used the Java introspection features to
interpret limited Lispy syntax:

j-exp --> (<thing> <argument-or-j-exp>)
<argument-or-j-exp> --> <argument>*
<argument-or-j-exp> --> j-exp

where the <thing> is some member subclass or member function or
variable.  If there is an argument list, then if a member function
named <thing> is found it called with the arguments, which must be
constants.  If there is no member function of name <thing>, then if
there is a member scalar variable of name <thing>, then the first
<argument> is coerced and assigned to that member variable.  On the
other hand, if there is a nested j-exp, then <thing> is taken as a
member class variable, and the process starts over with that variable
as context.  You subclass this applet to add GUI to it, and you better
like Java.

Any GUI listeners in the applet have prints that send similar string
expressions back to the Lisp app, which is also a subclassed from a
simple prototype, and the methods are called with the instance as the
first argument.  Instances are generated as web browsers connect to
startup routines published via paserve.

N e e d l e s s   t o   s a y ,  the Java introspection side, along
with the parsing of the expressions (which is about as easy of a
grammar as you can get), took about 3 days, while the Lisp side took
about 10 minutes to write the 5 lines needed for READing and calling
APPLY.

(So far I avoid JavaScript - so this whole qooxlisp thing, I don't
know.  Although I understand no need to actually write JavaScript, but
still I try to avoid running it in the browser.  But I don't know,
cells sounds good to me, so this qooxlisp thing might end up changing
my ways...)



More information about the Python-list mailing list