|
|||||||
![]() |
|
|
Thread Tools | Display Modes |
|
|||
|
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 |
|
|
||||
|
||||
|
|
|
|||
|
bolega <gnuist006@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/ |
|
|||
|
On 10/06/2010 23:51, Pascal J. Bourguignon wrote:
> bolega<gnuist006@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? I guess somebody's just enjoying flame wars too much. Pascal -- My website: http://p-cos.net Common Lisp Document Repository: http://cdr.eurolisp.org Closer to MOP & ContextL: http://common-lisp.net/project/closer/ |
|
|||
|
bolega wrote:
> 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 > > 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 -- http://www.stuckonalgebra.com "The best Algebra tutorial program I have seen... in a class by itself." Macworld |
|
|||
|
On Jun 10, 2:51*pm, p...@informatimago.com (Pascal J. Bourguignon)
wrote: > bolega <gnuist...@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 ... |
|
|||
|
bolega <gnuist006@gmail.com> writes:
> On Jun 10, 2:51*pm, p...@informatimago.com (Pascal J. Bourguignon) > wrote: >> bolega <gnuist...@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 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/...naggum.no.html > 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. -- __Pascal Bourguignon__ http://www.informatimago.com/ |
|
|||
|
On Jun 10, 8:24*pm, p...@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...) |
|
|||
|
On 06/10/2010 04:14 PM, bolega wrote:
> Which is the best implementation of LISP family of languages for real > world programming ? Boring question. I think it'd be much more interesting to ask... what's the best language for Middle Earth programming? Or for Arrakis programming? Or for Atlantis programming? Or for Lilliput programming? Alberto |
|
|||
|
pjb@informatimago.com (Pascal J. Bourguignon) writes:
> 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. -- (espen) |
|
|||
|
On Thu, 10 Jun 2010 13:14:01 -0700, bolega wrote:
> 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 |
|
|||
|
On 10 Giu, 23:33, bolega <gnuist...@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. |
|
|||
|
On 06/11/10 08:48, Elena wrote:
> On 10 Giu, 23:33, bolega<gnuist...@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. 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. |
|
|||
|
|
|
|||
|
On 11 Giu, 20:03, Chris Hulan <chris.hu...@gmail.com> wrote:
> 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. |
|
|||
|
[cross-posts snipped]
On Jun 11, 5:44*pm, Elena <egarr...@gmail.com> wrote: > On 11 Giu, 20:03, Chris Hulan <chris.hu...@gmail.com> wrote: > > > Haven't used it but Racket (http://racket-lang.org/) looks to be a new > > and improved Scheme > Racket is not Scheme anymore (it can't use SLIB, which relies on > common Scheme facilities). While SLIB is hard to run in Racket, Racket comes with a comprehensive library (see http://docs.racket-lang.org) which provides much of the specific functionality of SLIB as well as much more besides. Contributions of missing libraries are more than welcome. Additionally, the original question asked for a LISP for real-world programming, a category in which Racket excels, rather than an SLIB host. > 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. This is not the case. See the documentation for the errortrace library [1] for information on how to use it. As befits an IDE, it's able to provide additional debugging facilities, but they are not required. > Yes, you can run a REpL outside of its IDE, but you can't do much more > than that. Many people, including core Racket developers, work primarily via the REPL outside of DrRacket. [1] http://docs.racket-lang.org/errortrace |
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [CfP] 7th European Lisp Workshop, June 21/22 2010, Maribor, Slovenia | Didier Verna | Newsgroup comp.lang.lisp | 0 | 02-15-2010 07:42 AM |
| [CfP] 7th European Lisp Workshop, June 21/22 2010, Maribor, Slovenia | Didier Verna | Newsgroup comp.lang.functional | 0 | 02-15-2010 07:42 AM |
| Icon Programming Language FAQ | icon-project@cs.arizona.edu | Newsgroup comp.lang.icon | 0 | 09-01-2009 07:00 AM |
| Icon Programming Language FAQ | icon-project@cs.arizona.edu | Newsgroup comp.lang.icon | 0 | 07-01-2009 07:00 AM |
| How suited are purely functional programming languages for I/O-intensive and database-related applications? | Benjamin L. Russell | Newsgroup comp.lang.functional | 16 | 06-18-2009 02:30 PM |