From: bolega on
Which is the best implementation of LISP family of languages for real
world programming ?

http://wiki.alu.org/Implementation

Kindly pick one from commercial and one from open-source .

The criteria is :

libraries, gui interface and builder, libraries for TCP, and evolving
needs.

Please compare LISP and its virtues with other languages such as
javascript, python etc.

I put javascript in the context that it is very similar in its
architecture (homoiconic ie same representation for data-structures
and operations, ie hierarchical, which means nested-lists <=> n-ary
tree <=> binary tree <=> linked-list <=> dictionary <=> task-subtask,
and implicitly based on what C calls pointers, and at machine level
the indirect addressing of memory) to lisp family.

I put python in the context that it has the most extensive libraries
and shares the build-fix virtue of lisp highlighted by Paul Graham in
his books. Python is touted for its rapid prototyping of guis. It
syntax enforces stable format which guards against programmer malice
or sloppiness - so that there is a certain level of legacy code
readability.

Both have eval but not clear what is the implementation efficiency to
justify the habit of excessively using it.

Certainly, lisp/scheme are excellent for learning the concepts of
programming languages due to its multi-paradigm nature and readily
available code of the elementary interpreter.

Is there an IDE for these lispish-scheming languages ? Is there
quality implementation for Eclipse ? Emacs pre-supposes some knowledge
of these so that newbie can get stuck. Also, emacs help is not very
good.

Is there a project whereby the internal help of emacs (analogous to
its man pages) are being continuously being updated AND shared ? I
have never seen updates to the help. Perhaps, the commercial people
are doing it, even from the posts of the newsgroups, but the public
distros or these newsgroups have NEVER made such an announcement.

Explanations integrated into the help are more important than the
books - its like the wikipedia incorporated into emacs.

Is there support for the color highlighting of the code by hovering as
on this page ?

http://community.schemewiki.org/?lexical-scope

Which book/paper has the briefest minimal example of gui design along
XML nested/hiearchical elements with event-listeners for lisp/scheme ?

Thanks
From: bolega on
On Jun 10, 2:51 pm, p...(a)informatimago.com (Pascal J. Bourguignon)
wrote:
> bolega <gnuist...(a)gmail.com> writes:
> > Which is the best implementation of LISP family of languages for real
> > world programming ?
>
> What's the real world?
> What's real world programming?
>
> --
> __Pascal Bourguignon__                    http://www.informatimago.com/

I mean ordinary people, who may want to do things with their computers
for scripting, tasks that python can do, possibly when a language is
weak and another has library, then use some function from there even
if it is compiled. A set of work around techniques will always be
needed. Things that perl does, python does, bash does etc. things like
java applets for various animations etc. possibly some unoptimized but
fast protyping of parsers to fix files or convert formats etc. a wide
array of user tasks.

Sorry, I dont intend any flame wars ... as a general statement ...
From: fortunatus on
On Jun 10, 8:24 pm, p...(a)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...)
From: Elena on
On 10 Giu, 23:33, bolega <gnuist...(a)gmail.com> wrote:
> I mean ordinary people, who may want to do things with their computers
> for scripting, tasks that python can do...

Lisp is not for ordinary people, Python is.
From: Chris Hulan on
Haven't used it but Racket (http://racket-lang.org/) looks to be a new
and improved Scheme