Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Free implementations of ANSI (CLtL2) Common Lisp for Windows

10 views
Skip to first unread message

Paul Moore

unread,
Jan 22, 1999, 3:00:00 AM1/22/99
to
Hi,
Can anybody tell me what free Common Lisp implementations exist for
Win32, specifically which ones support the latest version
(CLtL2/ANSI)? I'm after a decent implementation for learning Lisp, and
I'd like to avoid getting confused by "missing" features as compared
to the standard.

I've seen some implementations, notably CLISP, but they tend to refer
to CLtL1 with some of the CLtL2 features. Actually, can anybody tell
me what the significant differences are, and whether I should really
care?

I'd like to be able to build reasonably efficient programs, so some
form of compiler or a decent-performance interpreter would be best. An
IDE is not a requirement, and while I'd be interested in seeing how
good Lisp is with GUI development, I can live with a console
application only system. A foreign function (DLL) interface is a must.

I'd have looked in the FAQ, but I couldn't find one for this group...

Thanks in advance for any help/pointers,
Paul Moore.


Marc Battyani

unread,
Jan 22, 1999, 3:00:00 AM1/22/99
to
Paul Moore wrote in message <36a86b43...@news.origin-it.com>...

>Hi,
>Can anybody tell me what free Common Lisp implementations exist for
>Win32, specifically which ones support the latest version
>(CLtL2/ANSI)? I'm after a decent implementation for learning Lisp, and
>I'd like to avoid getting confused by "missing" features as compared
>to the standard.
...

>I'd like to be able to build reasonably efficient programs, so some
>form of compiler or a decent-performance interpreter would be best. An
>IDE is not a requirement, and while I'd be interested in seeing how
>good Lisp is with GUI development, I can live with a console
>application only system. A foreign function (DLL) interface is a must.

Try www.harlequin.com
and www.franz.com

Both have free trial/personnal versions.

Marc Battyani

Paul Moore

unread,
Jan 22, 1999, 3:00:00 AM1/22/99
to
On Fri, 22 Jan 1999 14:52:56 +0100, "Marc Battyani"
<Marc_B...@csi.com> wrote:

>Paul Moore wrote in message <36a86b43...@news.origin-it.com>...
>>Hi,
>>Can anybody tell me what free Common Lisp implementations exist for

>>Win32?
[...]


>...
>>I'd like to be able to build reasonably efficient programs, so some
>>form of compiler or a decent-performance interpreter would be best. An
>>IDE is not a requirement, and while I'd be interested in seeing how
>>good Lisp is with GUI development, I can live with a console
>>application only system. A foreign function (DLL) interface is a must.
>
>Try www.harlequin.com
>and www.franz.com
>
>Both have free trial/personnal versions.
>

Thanks for the pointers - I've seen both. Both have limitations on
heap size (unspecified how much, but I don't want to invest time &
effort to find that I can't handle realistic amounts of data) and
neither support building standalone applications (Franz has no
compiler, which I'd really like to have, and Harlequin says the free
version "does not support application delivery".

I suppose this boils down to the fact that I don't want a "cut down"
version of a commercial product - if I didn't notice the limitations,
it wouldn't make me want to buy the full product (and I don't
anticipate buying any Lisp, for the sort of things I'd do it wouldn't
be a good investment...)

Paul.


Paul Moore

unread,
Jan 22, 1999, 3:00:00 AM1/22/99
to
On Fri, 22 Jan 1999 02:43:13 +0100, Sam Steingold <s...@goems.com>
wrote:

>>>>> In message <36a86b43...@news.origin-it.com>
>>>>> On the subject of "Free implementations of ANSI (CLtL2) Common Lisp for Windows"
>>>>> Sent on Fri, 22 Jan 1999 13:18:20 +0100


>>>>> Honorable paul....@uk.origin-it.com (Paul Moore) writes:
> >>
> >> I've seen some implementations, notably CLISP, but they tend to
> >> refer to CLtL1 with some of the CLtL2 features.
>

>you must have seen a very old version. see
>clisp.cons.org:/pub/lisp/clisp/binaries/win32

You're right I guess - I read "mostly supports" (CLtL2/ANSI) on the
web page, as "CLtL1 with some of the newer features". My mistake -
looks like CLISP is the one to try, then...

Paul.


David Bakhash

unread,
Jan 22, 1999, 3:00:00 AM1/22/99
to
"Marc Battyani" <Marc_B...@csi.com> writes:

> Try www.harlequin.com
> and www.franz.com

My personal opinion on this is that, w/o a compiler, you're not really
getting very much. I, personally, am completely hindered by not being
able to use `compile-file', and that is the case with Allegro's free
trial version. That, along with the limited heap size, makes these
trial versions unbarable, IMO.

On the other hand, I believe that Harlequin's free trial version _does_
allow you to compile, though it also has a limited heap size. I think
you get "more" with the free Allegro stuff, but that extra stuff is
non-standard, so for a newbie, I don't even see the point to having that
stuff, unless (s)he wants a toy.

I think that Franz could have been 10x nicer by leaving in the
`compile-file' and maybe leaving out the `fasl-write', or whatever they
use to actually _create_ the .fasl files. That way, at least you would
be able to see what the compiler things of your code. Otherwise, you'll
have a hard time debugging.

If you ask me, learn on CLISP, or CMUCL, or Harlequin. I'd not
bother downloading Allegro CL unless you're considering the purchase of
a serious CL implementation, with extra features.

dave

Christopher R. Barry

unread,
Jan 23, 1999, 3:00:00 AM1/23/99
to
David Bakhash <ca...@mit.edu> writes:

In order to use CMUCL, the person would have to be using some sort of
Unix, in which case if they were using Linux they could get the
Allegro CL Linux Trial Edition, which is basically the Enterprise
Edition minus the runtime generator and a couple other features and
files.

That Allegro's Windows version is fairly crippled, well, this is the
treatment that Windows users have come to expect from trial editions,
and IMNSHO deserve.

Christopher

Erik Naggum

unread,
Jan 23, 1999, 3:00:00 AM1/23/99
to
* paul....@uk.origin-it.com (Paul Moore)

| Thanks for the pointers - I've seen both. Both have limitations on heap
| size (unspecified how much, but I don't want to invest time & effort to
| find that I can't handle realistic amounts of data) and neither support
| building standalone applications (Franz has no compiler, which I'd really
| like to have, and Harlequin says the free version "does not support
| application delivery".

Franz Inc Allegro CL 5.0 Lite offering has no _file_ compiler, but of
course it has a compiler. Windows people tend to rip other people off
and pirate commercial software and such, so I see very valid reasons why
vendors don't want to give away any ability that they would want to pay
for if they were legitimate users. the Unix world is very different,
with the Linux world somewhere in between, with a strong desire to test
things out for real without going through a lot of hassle. as has been
suggested, switch to Linux.

btw, so-called standalone applications aren't.

| I suppose this boils down to the fact that I don't want a "cut down"
| version of a commercial product - if I didn't notice the limitations, it
| wouldn't make me want to buy the full product (and I don't anticipate
| buying any Lisp, for the sort of things I'd do it wouldn't be a good
| investment...)

if you didn't notice the limitations, what would the difference beween
what you want and what you get be? I don't get it. (I presume you want
this for non-commercial use -- if you want to sell stuff, there are less
comfortable limitations on free software than on commercial software.)
if you want a full system, it doesn't cost a noticeable chunk of money,
either.

#:Erik
--
SIGTHTBABW: a signal sent from Unix to its programmers at random
intervals to make them remember that There Has To Be A Better Way.

David Bakhash

unread,
Jan 23, 1999, 3:00:00 AM1/23/99
to
I really wasn't aware until recently that the Linux free version was
more adequate than the free MS version. It really makes no sense to
me, but anything that promotes using Linux over MS is a good thing.
If you think about it, maybe Franz crippled their free MS port to be
better matched with a crippled OS.

But I still mantain that the free MS trial version of ACL 5.0 is
mostly useless w/o the `compile-file'. Part of trying out a Lisp
implementation is seeing if you like the compiler. But I figure that
a serious buyer would call up the vendor and ask for a more elaborate
trial version, with all the features, and I'm sure that all of the
companies would be helpful in this regard.

dave

Bernhard Pfahringer

unread,
Jan 23, 1999, 3:00:00 AM1/23/99
to
In article <cxjiudx...@engc.bu.edu>,

David Bakhash <ca...@engc.bu.edu> wrote:
>
>But I still mantain that the free MS trial version of ACL 5.0 is
>mostly useless w/o the `compile-file'. Part of trying out a Lisp
>implementation is seeing if you like the compiler. But I figure that
>a serious buyer would call up the vendor and ask for a more elaborate
>trial version, with all the features, and I'm sure that all of the
>companies would be helpful in this regard.
>
>dave

A little coding could improve the usefulness for you:

(defun load-while-compiling-defs (file)
(with-open-file (f file :direction :input)
(loop with eof = (cons nil nil)
for sexp = (read f nil eof)
until (eq sexp eof)
do (eval sexp)
if (and (consp sexp) (consp (rest sexp))
(member (second sexp) '(defun defmacro defmethod)))
do (compile (second sexp)))))

Bernhard
--
--------------------------------------------------------------------------
Bernhard Pfahringer
Austrian Research Institute for http://www.ai.univie.ac.at/~bernhard/
Artificial Intelligence bern...@ai.univie.ac.at

Lyman S. Taylor

unread,
Jan 23, 1999, 3:00:00 AM1/23/99
to
In article <cxjiudx...@engc.bu.edu>,
David Bakhash <ca...@engc.bu.edu> wrote:
>I really wasn't aware until recently that the Linux free version was
>more adequate than the free MS version. It really makes no sense to
>me,

Why not? The "Linux" space is substantially more composed of "free"
programs than of commerical stuff. In fact that there is, in some
sub circles, a pronounced negative reaction to commerical stuff.

Secondly, the vast majority of interaction users in the Linux space
enjoy hacking on stuff. The penetration of Linux amoung CS majors is
very likely several times the penetration of Linux in the
broad x86 market. These folks aren't working on commerical apps.
Therefore a "hobby" price of $0.0 is quite good. Later if they do
something commerical then they pay (and likely more a more
commerical platform). So in some sense, it is related
to the adage "don't eat your seed corn".


>But I still mantain that the free MS trial version of ACL 5.0 is
>mostly useless w/o the `compile-file'. Part of trying out a Lisp
>implementation is seeing if you like the compiler.

But the compiler _is_ there isn't it? The function COMPILE is there
right?

The following is a protracted way of doing it.....

> (load "foo.lisp" :print t )

... a long sequence of symbols corresponding to the top level
defintions .....

>



Take the above symbol sequence and with a copy and paste

> (map nil #'compile '( ... paste sequence here ... ) )


Also, doesn't the built-in editor have a compile buffer option?
[ I've not used the ACL windows version much. I've used a site licensed
version of Lispworks for windows whose editor does have this].
Of course if you want to use "Word Pad" to edit your lisp programs,
this isn't an option. ;-)

Or a menu open of the sort "File>Compile..."

Either way it just means you have to compile each time start
the environment. In the "hobby" and/or "student" context,
forcing you to open/load the "program" and then compile is somewhat
painful but you're not delivering compiled code to anyone.

The above workarounds don't scale very well. For reasonably
small, clean projects they work.

--

Lyman S. Taylor "The Borg -- party poopers of the Galaxy. "
(ly...@cc.gatech.edu) EMH Doctor Star Trek Voyager.

Lyman S. Taylor

unread,
Jan 23, 1999, 3:00:00 AM1/23/99
to
In article <78d763$129i$1...@www.univie.ac.at>,
Bernhard Pfahringer <bern...@korb.ai.univie.ac.at> wrote:
>In article <cxjiudx...@engc.bu.edu>,

>
>A little coding could improve the usefulness for you:
>
>(defun load-while-compiling-defs (file)

> (loop
> do (eval sexp)

> if (and (consp sexp) (consp (rest sexp))
> (member (second sexp) '(defun defmacro defmethod)))
> do (compile (second sexp)))))

Oooops, didn't have my thinking cap all the way on before. :-) However,
you may wish to non-interleave loading with compiling.

(defun foo (x)
(+ x y ))


(defconstant y 3 )

The above probably should compile without any warnings about Y being
special, but not declared as such. You could use LOAD before the
loop and then skip the EVAL internal the loop.

David Bakhash

unread,
Jan 24, 1999, 3:00:00 AM1/24/99
to
yeah.

I noticed that "compile" was in there, and used in when it was
necessary, but I thought it was a pain in the butt, and I think
compile-file does more than this, besides writing the fasl file.

But thanks for posting your fix. Now maybe Franz's free trial stuff
will _really_ become useless, if the remove "compile".

dave

Paul Moore

unread,
Jan 26, 1999, 3:00:00 AM1/26/99
to
For what it's worth, I thought I should post a followup, summarising
what I found out.

Just to remind people, I was looking for a relatively complete
standard Common Lisp system for Windows, for personal use. I wasn't
too bothered about an IDE, but I did want a compiler.

In retrospect, I didn't explain what I was after too well - my reasons
for wanting a "compiler" were twofold - first, decent performance and
second, the ability to build "standalone" applications.

There were four suggestions made, two (Allegro Common Lisp and
Harlequin Lisp) are trial versions of commercial products. I was not
interested in these, as the trial versions are limited (heap size in
both cases, and the inability to build standalone apps in one - can't
remember which). I have no interest in (or budget for) buying a
commercial version (this is for hobby/personal use only, and Lisp is
never going to be my main development language), so I looked at these
no further.

Bruno Haible's CLISP system was the one I had heard of before I
posted, and it looks fairly good. It was the one I was expecting to go
for. However, I was then pointed at Corman Common Lisp
(http://corman.net/CormanLisp.html), which looks like it is exactly
what I was after. It has a native code compiler, Foreign function
interface (including MS COM interfacing), can build standalone
applications (in the sense of startup EXE + Lisp DLL + single image
file, which is a perfectly acceptable, minimal, arrangement for my
purposes). It is free for personal use, although the IDE is limited to
30-day use (actually, from my limited look at it, the IDE doesn't seem
to ofeer much).

So, to summarise the summary:

Allegro Common Lisp (http://www.franz.com/):
Commercial demo
Limited heap size
No compile-file, no disassembler, no image saving
Harlequin Common Lisp (http://www.harlequin.com/products/ads/lisp/)
Commercial demo
Limits program size & duration
Doesn't support application delivery
CLISP (http://clisp.cons.org/~haible/packages-clisp.html):
Free implementation
More an interpreter than a compiler?
Corman Lisp (http://corman.net/CormanLisp.html):
Free for personal use (except the IDE)
Native x86 compiler
COM support
My choice

Thanks for all the help,
Paul Moore


0 new messages