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


B

bolega

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
 
Ad

Advertisements

A

Alister

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

if we do all of the above will we also receive the grade & qualification?
what exam is it for anyway?
 
P

Pascal J. Bourguignon

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

What's the real world?
What's real world programming?
 
K

Kenneth Tilton

bolega said:
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 .

ACL and SBCL
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.

It's better.

kt
 
Ad

Advertisements

B

bolega

What's the real world?
What's real world programming?

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 ...
 
P

Pascal J. Bourguignon

bolega said:
I mean ordinary people, who may want to do things with their computers

Ah, ordinary people. Then the answer is easy: iPhone and iPad.
That's computers for ordinary people, and very good at that!

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.

Notice that for a library to work with python, python requires that it
be put under a format acceptable to python. In the lisp world, we
never imagined to be able to force people to adapt their libraries to
our needs and requimenets.

We have FFI, and we try very hard to work with all sort of random
libraries whatever their implementation language and quality, as if we
were mere C programs. Sometimes with success, sometimes with failure.


That said, given that the requirements of lisp and of python are
similar, any library that is pythonified, can be integrated in the
lisp environments easily, automatically even, it should only require
some coding if it's not already done.


A set of work around techniques will always be
needed. Things that perl does,

Ie. being part of the problem.

Again, you could search cll archives about that (using Erik Naggum as
author this time). Or you could use this:
http://xach.com/naggum/articles/


http://www.xach.com/naggum/articles/[email protected]


python does,

failing at meta programming.

bash does

failing at anything but oneliner "scripts".

things like java applets for various animations

What applets? Have you ever seen a java applet? Last time I saw one
it must have been fifteen years ago.

possibly some unoptimized but fast protyping of parsers

Optimized parser generators were developed 30 years ago. What's your
problem?

to fix files or convert formats etc. a wide
array of user tasks.

files to be fixed and format convertion are not user tasks. They're
programming tasks, if they're not management problems in the first
place. Therefore you need a programming language, to write programs,
to fix files, and to convert formats.
 
F

fortunatus

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...)
 
E

Espen Vestre

What applets? Have you ever seen a java applet? Last time I saw one
it must have been fifteen years ago.

I see one each time I log into my internet banking
service. Unfortunately.
 
T

Tamas K Papp

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

Generally, it is advisable to cross-post questions like this to at
least 50 other language newsgroups. For example, you are not giving
Ruby users a fair chance to compare their language to Lisp, Java, and
Python. Also, you missed Fortran! The guiding principle should be to
choose a wide range of languages, the more disparate the better.

OTOH, I applaud the lack of specificity. Lesser minds would have
asked about a specific Lisp dialect, such as CL. Such things should
be avoided, as they focus the discussion unnecessarily.

Cheers,

Tamas
 
Ad

Advertisements

A

Andrew Philpot

Lisp is not for ordinary people, Python is.

Python is for ordinary people.
Lisp is for extraordinary people.
I believe nearly all people have the potential to be extraordinary, but
most choose to remain merely ordinary.
Sigh.
 
B

Benjamin Kaplan

Haven't used it but Racket (http://racket-lang.org/) looks to be a new
and improved Scheme

The language isn't new, just the name. Racket is the language formerly
known as PLT Scheme. They decided that they made enough changes from
R5RS that they should rename it. That way, when people ask questions,
it's clear that they're talking about the PLT variant of Scheme and
not the main standard.
 
E

Elena

Haven't used it but Racket (http://racket-lang.org/) looks to be a new
and improved Scheme

I have checked it out and I don't recommend it to others.

Racket is not Scheme anymore (it can't use SLIB, which relies on
common Scheme facilities). Racket is a language and an environment on
their own. For instance: debugging facilities are hidden into its IDE,
therefore you'll have to leave your debugging environment of choice.
Yes, you can run a REpL outside of its IDE, but you can't do much more
than that.
 
Ad

Advertisements

N

Nicolas Neuss

tfgordon said:
Consider Clojure: http://clojure.org/

You might want to watch one of these videos for an overview:

http://clojure.blip.tv/

There is also evidence that Clojure is currently the most popular
Lisp, more "popular" than Scheme or Common Lisp, whatever that means:

http://www.google.com/trends?q=common+lisp,+scheme+language,+clojure

Maybe you can derive that the trend for Clojure is better (not
surprisingly given its youth), but using such searches for guessing
absolute numbers is meaningless. For example, if you compare "Scheme
language" and "Clojure language", you don't see Clojure at all.

Nicolas
 
A

Antti \Andy\ Ylikoski

10.6.2010 23:14, bolega kirjoitti:
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

I have used several available LISP systems such as the Gigamonkeys CLISP
Lispbox, and the Clozure Common LISP.

The system which I currently am using is the Franz Allegro Common LISP.
It is a commercial product; and so far I have had no problems with the
Allegro. (NB: I am using the Express version. I feel that the full
scale commercial license is not exceedingly expensive.)

(Right now I'm studying and working with the exercises in Peter Norvig's
book Paradigms of Artificial Intelligence Programming. I have done 16
of the 25 chapters.)

This is not an advertisement. If someone wishes to criticize that
product, or if someone would like to suggest some other equally usable
implementation, of course please feel free to do so.

regards, Antti J. Ylikoski
Helsinki, Finland, the E.U.
 
Ad

Advertisements

A

Antti \Andy\ Ylikoski

12.6.2010 12:02, Antti "Andy" Ylikoski kirjoitti:
10.6.2010 23:14, bolega kirjoitti:

I have used several available LISP systems such as the Gigamonkeys CLISP
Lispbox, and the Clozure Common LISP.

The system which I currently am using is the Franz Allegro Common LISP.
It is a commercial product; and so far I have had no problems with the
Allegro. (NB: I am using the Express version. I feel that the full scale
commercial license is not exceedingly expensive.)

(Right now I'm studying and working with the exercises in Peter Norvig's
book Paradigms of Artificial Intelligence Programming. I have done 16 of
the 25 chapters.)

This is not an advertisement. If someone wishes to criticize that
product, or if someone would like to suggest some other equally usable
implementation, of course please feel free to do so.

regards, Antti J. Ylikoski
Helsinki, Finland, the E.U.

You said that you also want one implementation from open-source.
Amongst these, the best one according to my experience is the Clozure
Commmon Lisp.

(Disclaimer: I have not used the Embeddable Common Lisp, and not the
Armed Bear Common Lisp, and not the Clojure Commmon Lisp. The reason
for this is the fact that after beginnninng to use the Allegro, I felt
that I need not personally test any more Lisp implementations.)

Maybe it could be a good idea for someone to write an academic study of
all these available Lisp implementations. Even Interlisp still lives,
as it was recently noted in this newsgroup. (I did not check the
Google. Has someone alredy done so? Ie. studied the existing many Lisp
implementations?)

regards, Antti J. Ylikoski
Helsinki, Finland, the E.U.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top