Re: Reasons to choose CLISP over other free implementations



On Nov 29, 12:58 am, sharpqu...@xxxxxxx wrote:
On Nov 28, 3:16 pm, Slobodan Blazeski <slobodan.blaze...@xxxxxxxxx>
wrote:



On Nov 28, 7:56 pm, Javier <javu...@xxxxxxxxx> wrote:

What are actually the reasons to choose CLISP over other free
implementations?

I believe there are some. Compared to SBCL, for example:

- Fast bignum operations.
- Fast CLOS instantiations.
- Much faster compiler speed, which is nice for big projects.
- Better memory management. SBCL (and CMUCL) tends to do not return
unallocated memory and wastes a lot of OS virtual memory.
- Better memory footprint. It just need about 4 Mb of memory at
startup.
- Better debugger. CLISP usually allows you to choose from more
options when an error occurs in the debugger.
- Better internationalization. Most messages are translated into
various languages.

What do you think about? Any more ideas?

- No threads so forget about web development.

I'm not sure I entirely agree with this, given that the Apaches most
people used until recently were also not threaded (let alone older
perl, and the way other, possibly threaded languages that still forked
an interpreter or kept a pool of them using Apache modules or fastcgi
were used to serve a grea deal of content). It is a limitation you
should be aware of though. Of course it makes clisp pretty useless
under windows for web stuff, but... well, I guess the win platform has
gotten better over the last few years. I would still hesitate to host
an important site on win.
I don't say it's impossible , just I won't do it. Someday maybe even
weblocks will has such setup
Taken from http://groups.google.com/group/weblocks/browse_thread/thread/72060f1b76b6bcbf
I doubt hunchentoot would be of any use in a single threaded
implementation.
Unless you're planning a single user web app :)

Actually, you can get very far with this setup. If you offload serving
of static content to Apache and dynamic content is relatively quick to
generate (which it normally is for web pages) you can get very high
throughput. This setup for weblocks will remain on wishlist for a
while, though.

But today when implementations exist who support hundreds of thousands
threads , think Erlang, Gambit, Mozart going back to single threading
seems like a bad idea. I want to see actor based threading like before
mentioned and SMP implemented in lisp implementations. Not going back
to 90s.
In today world where multicores are standard, this will be important
feature.

- Using FFI will turn your application into GPLware.

Is it only the FFI? Maybe I misread things, but it seemed, ...

Kenny said that FFI and AMOP staff are in the exception, so that makes
GPL point non-issue.

Slobodan
.



Relevant Pages

  • Re: Deleting a preloaded image from memory
    ... The variable aVar then gets assigned to memory address ABC. ... these types of generalisations about javascript implementations. ... you waffle on about the history of computers as if it was unknown. ...
    (comp.lang.javascript)
  • Re: LISP
    ... My own opinion is that Lisp-1 is more concise and clearer the more a ... functional style is used in a program. ... no explicit support for threading structures in the language ... (only in implementations, but I was talking in point 1. ...
    (comp.lang.lisp)
  • Re: Pointer validity
    ... Implementations are allowed to do whatever ... impossible to classify a pointer value as stack or non-stack ... >> Pointers to valid memory locations can come from an external ... >> friends, for locating heap corruption, dangling references, etc. ...
    (comp.lang.c)
  • Re: execution time becomes unpredictable?!
    ... > performance and real implementations of memory heaps *really do* ... > do exist Oimplementations of malloc/free (and realloc, ... As far as I know, gcc, ... > because its open source and "Lea" malloc implementation is reasonably ...
    (comp.lang.c)
  • Re: C and Low-level Storage (was: I need a new compiler...
    ... are there existing implementations of C that ... program" to system-level storage? ... Practially speaking, the Operating System, and sometimes the hardware, protects some areas of memory. ... Take the same chunk of real memory, attach it to one or more applications - at different virtual addresses. ...
    (comp.lang.cobol)