From: Mike
Subject: yet again, lisp vs. scheme
Date: 
Message-ID: <8UUve.12125$xm1.10962@fe06.lga>
I like the scheme implementations that are to me small (plt)
and do not take up a lot of resources. The books and articles
I find deal more with lisp.

What is a smaller lisp implementation that runs on both
gnu/linux and windows?

I also want something that has a debugger (integrated like
perl or external like gdb... either is ok).

This is for my own projects and some commercial things I'm
considering doing on my own (outside of my work).

Mike

From: Robert Uhl
Subject: Re: yet again, lisp vs. scheme
Date: 
Message-ID: <m3u0jjyarn.fsf@4dv.net>
Mike <·····@mikee.ath.cx> writes:
>
> What is a smaller lisp implementation that runs on both gnu/linux and
> windows?

GNU Common Lisp and GNU CLISP both run on Windows and Unix.  There are
also commercial offerings: LispWorks and Allegro Common Lisp do the
same; they may also be more to your taste in terms of ease-of-use (I've
not used them myself, but I get that impression).

> I also want something that has a debugger (integrated like perl or
> external like gdb... either is ok).

Well, all Lisps that I know of have at least a rudimentary debugger.
SLIME (the Superior Lisp Interaction Mode for Emacs) offers a nice
interface into the debugger, but it doesn't currently support stepping
through code.

The commercial Lisps almost certainly feature excellent debuggers.

> This is for my own projects and some commercial things I'm
> considering doing on my own (outside of my work).

I'd strongly suggest both Practical Common Lisp and Successful Lisp in
order to learn.  Unlike perl or python, the online resources for
learning Lisp have until recently been rather lackluster.  Fortunately,
both the above books are now available freely over the web, although I
would recommend purchasing hardcopy since a physical book is a lot
handier to refer to.

I think you'll find that Common Lisp can be very enjoyable to work in.

-- 
Robert Uhl <http://public.xdi.org/=ruhl>
Pulling together is the aim of despotism and tyranny.  Free men pull in
all kinds of directions.  It's the only way to make progress.
                                         --Havelock Vetinari
From: Kaz Kylheku
Subject: Re: yet again, lisp vs. scheme
Date: 
Message-ID: <1119900662.825788.202020@g43g2000cwa.googlegroups.com>
Mike wrote:
> What is a smaller lisp implementation that runs on both
> gnu/linux and windows?

Let's see, the user will have to install Linux to run the program, but
the footprint of that program has to be small. :)

Have you run a system call trace lately on, oh, the ``ls'' program?
Tons of shared libraries attached. System calls flying left and right.
A bazillion nonexisten files searched after.

Linux is not exactly small and lightweight (any  more).

Here is a comparison between a directory listing and evaluating a
single expression with CLISP:

machine:$ strace clisp -norc -q -x '(+ 2 2)' 2>&1 | wc
    260    1963   19729
machine:$ strace ls /dev/null 2>&1 | wc
    111     870    8225

It only takes about 2.5 times as many system calls to start up CLISP to
evaluate an expression than to fetch a directory listing for a single
file.

The size of this Lisp system is less than 3 megabytes: a 1.2 meg
executable and a memory image that is about 1.4 megs.

Then we add up the shared libraries:

machine:$ ldd ~/lib/clisp/base/lisp.run | gawk '{ print $3 }' | xargs
du --total --dereference
176     /usr/lib/libreadline.so.4
852     /usr/lib/libncurses.so.5
16      /lib/libdl.so.2
1540    /lib/tls/libc.so.6
20      /usr/lib/libgpm.so.1
112     /lib/ld-linux.so.2
2716    total

The shared libs are as big as the program.  The kernel on this system
(the uncompresed vmlinux file, not the compressed vmlinuz!) is about
3.5 megabytes, whoa! Of course, all these executable images have
run-time storage requirements as well.

This particular Lisp system is smaller than the kernel, smaller than
the total size of the shared libraries attached to it, and cranks out
only about 2.5 as many system calls to evaluate an expression and quit
as ``ls /dev/null''.
From: Pascal Costanza
Subject: Re: yet again, lisp vs. scheme
Date: 
Message-ID: <3iavmmFkk661U1@individual.net>
Mike wrote:
> I like the scheme implementations that are to me small (plt)
> and do not take up a lot of resources. The books and articles
> I find deal more with lisp.
> 
> What is a smaller lisp implementation that runs on both
> gnu/linux and windows?

You don't say what you mean by small. Do you mean "doesn't use a lot of 
memory" or do you mean "I don't want to learn the language all at once".

For the first meaning, there are implementations like clisp that tends 
to be compact and ECL whose purpose is to be embedded. For the second 
meaning, it's good to pick a tutorial that matches your interests and/or 
your learning speed. Good tutorials present the material in easily 
digestable steps. Keep in mind that "real" Scheme systems are also quite 
large when you want to take advantage of everything they provide.


Pascal

-- 
2nd European Lisp and Scheme Workshop
July 26 - Glasgow, Scotland - co-located with ECOOP 2005
http://lisp-ecoop05.bknr.net/