ECL



On 11/14/2011 02:13 PM, Raymond Toy wrote:
>
>
> On Mon, Nov 14, 2011 at 1:40 PM, Paul Bowyer <pbowyer at olynet.com 
> <mailto:pbowyer at olynet.com>> wrote:
>
>
>     Stavros, Ray:
>
>     I'm uncertain what my goals might be because I don't yet know
>     enough about the subject. I was only asking what the possibilities
>     were.
>
>     I experiment with different things on my computer to see what I
>     can do and this looked interesting because my experience with lisp
>     core images (not much experience though) has been that they tend
>     to be very large. I would be much happier with common lisp written
>     applications if I could get past the very large core images
>     required for executables.
>
>
> I don't think the executables are really any smaller than the lisp 
> images.  And by modern standards, a lisp image isn't so large anymore.
>
>
>
>     Ray wrote:
>     Maxima running with gcl does this.  But as Richard points out, it
>     contains gcl (including compiler) and maxima all in one.  Maxima
>     with cmucl can also create a "standalone" executable.
>
>     I was unaware that gcl already did this, but I think it makes
>     sense because it was very fast on my computer when I used it.
>
>
> Your sense is wrong.   The fact that gcl was an executable doesn't 
> make it any faster.  Sbcl and cmucl are as fast (roughly) as gcl (was) 
> and they use images.
>
>
>
>     I sometimes attempt to write code that does some mathematics and
>     rather than re-inventing the wheel I thought it would/could be
>     interesting to use already written open-source software such as
>     portions of maxima (providing I could understand which portions I
>     needed and had the okey-doaky to do so) in something I might try
>     writing.
>
>
> Maxima is gpl so you can do what you want with it as long as your 
> stuff is gpl.  But maxima is pretty tangled together so it would be 
> hard to extract out a little part.
>
> Ray
>
Ray:

I've been experimenting with ECL and SBCL on a CLX application and I 
have some rough comparisons with stand-alone executables from Common 
Lisp code.

Using very similar code to build the applications in SBCL and ECL, the 
executable using ECL is "4737818" bytes and runs without problems.

The executable using SBCL (version 1.0.48) is "37969948" bytes and does 
not run. I used:
(save-lisp-and-die #p"corename" :toplevel (entry-function) :executable t)
to build the SBCL executable.

I'm not very experience with doing this and I undoubtedly made an error 
with the SBCL attempt, but the size difference between the two 
executables is about a factor of ten. That becomes significant if there 
are multiple lisp-generated executables present on a system.

Paul