From: Alex Mizrahi
Subject: free common lisp for win32
Date: 
Message-ID: <bmn60h$o6rb3$1@ID-177567.news.uni-berlin.de>
Hello, All!

i'm looking for free common lisp implementation for win32 to make standalone
end-user application(this means that i'm not interested in some dark
console). and i want it to be as small as possible in final form. and it's
desired to work well with ffi, up to COM interfaces..
so, as i understand, i should look among clisp, gcl and ecl. did anybody
work with them and can share impressions? what's minimum size of working gcl
and ecl?

by the way, does ecl support threads? on linux i was not able to compile it
with threads - it says that "NValue is not thread-safe" and breaks..

With best regards, Alex Mizrahi.

From: Pascal Costanza
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bmo826$hlt$1@newsreader2.netcologne.de>
Alex Mizrahi wrote:

> Hello, All!
> 
> i'm looking for free common lisp implementation for win32 to make standalone
> end-user application(this means that i'm not interested in some dark
> console). and i want it to be as small as possible in final form. and it's
> desired to work well with ffi, up to COM interfaces..

Maybe you should take a second look at the "non-free" implementations. 
Admittedly, many of them are pricey.

However, they might still be affordable. In your case, I would 
especially take a look at Corman Lisp.


Pascal
From: Alex Mizrahi
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bmps8g$osvod$1@ID-177567.news.uni-berlin.de>
(message (Hello 'Pascal)
(you :wrote  :on '(Fri, 17 Oct 2003 10:08:37 +0200))
(
 >> i'm looking for free common lisp implementation for win32 to make
 >> standalone end-user application(this means that i'm not interested in
 >> some dark console). and i want it to be as small as possible in final
 >> form. and it's desired to work well with ffi, up to COM interfaces..

 PC> Maybe you should take a second look at the "non-free"
 PC> implementations.
 PC> Admittedly, many of them are pricey.

 PC> However, they might still be affordable. In your case, I would
 PC> especially take a look at Corman Lisp.

in our country average wages are more than 10 times lower than wages in
western europe and usa, so buying any software is not an option for me..

i have trial versions of corman, allegro and lispworks installed. and i
can't say i really like them..
allegro made standalone distrib ~8 mb large, and crashed during this.. and..
couldn't they implement syntax highlighting in editor?.. 8-]]]
lispworks, at least personal version, showed very slow performance on simple
benchmark dealing with floating-point numbers(see below). i could not test
building standalone application, but i think it
will be not less than allegro - exe of lispworks itself is 17mb!
corman goes with sources, has good ffi, bindings for win32 modules and
distrib with it can be made ~1mb. but it's buggy - i experience random
crashes when it goes away w/o saying a word, as well as incorrect
behavoiur - for example, 'directory function doesn't list folders, corman
lisp calls initialize-instance when redefining class(when other
implementations call reinitialize-instance)..

so, i thought that free implementations can be better, and i will be able
to hack them to have what i want.


so, here's a function which i used to check implementations speed. cmucl,
allegro and C(intel compiler, with improved floating-point consistency
turned on) showed aprox same speed, lispworks was about 10 times slower(it
says it did a lot of allocations..), and ecl generated code for gcc that
surprisingly runned even faster than function compiled with intel optimizing
c++ compiler 6 with all optimizations on - 4 times faster than first
mentioned results, intel was only ~2 times faster..

(defun bench()
  (declare (optimize (speed 3) (debug 0) (safety 0)))
  (do ((k 1.0)
       (l 1024.0)
       (i 0 (1+ i)))
      ((= i 2000000) k)
 (declare (fixnum i) (single-float k l ))
    (setq k (/ (+ k l) 2.0)) (setq l k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    ))



)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
(prin1 "Jane dates only Lisp programmers"))
From: Daniel Barlow
Subject: Re: free common lisp for win32
Date: 
Message-ID: <87u167s5zq.fsf@noetbook.telent.net>
"Alex Mizrahi" <·········@xhotmail.com> writes:

> in our country average wages are more than 10 times lower than wages in
> western europe and usa, so buying any software is not an option for me..

Yet you somehow still manage to afford copies of Windows?


-dan

-- 

   http://web.metacircles.com/cirCLe_CD - Free Software Lisp/Linux distro
From: Alex Mizrahi
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bmrv9p$q54s2$1@ID-177567.news.uni-berlin.de>
(message (Hello 'Daniel)
(you :wrote  :on '(Sat, 18 Oct 2003 02:13:13 +0100))
(

 >> in our country average wages are more than 10 times lower than wages
 >> in western europe and usa, so buying any software is not an option
 >> for me..

 DB> Yet you somehow still manage to afford copies of Windows?

some guys bought a disk for $2 in a kiosk and gave me it to copy and install
8-]]]
unfortunately there are no (at least i was not able to find) warez lisps..
they say it's because nobody needs lisp..

)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
(prin1 "Jane dates only Lisp programmers"))
From: Tim Bradshaw
Subject: Re: free common lisp for win32
Date: 
Message-ID: <ey3r81al325.fsf@cley.com>
* Alex Mizrahi wrote:
DB> Yet you somehow still manage to afford copies of Windows?

> some guys bought a disk for $2 in a kiosk and gave me it to copy and install
> 8-]]]
> unfortunately there are no (at least i was not able to find) warez lisps..
> they say it's because nobody needs lisp..

Maybe it's because Lisp programmers are generally not thieves.

--tim
From: Nils Goesche
Subject: Re: free common lisp for win32
Date: 
Message-ID: <87smlr8i7y.fsf@darkstar.cartan>
"Alex Mizrahi" <·········@xhotmail.com> writes:

> lispworks, at least personal version, showed very slow
> performance on simple benchmark dealing with floating-point
> numbers(see below).

I won't comment on the code, but...

> (defun bench()
>   (declare (optimize (speed 3) (debug 0) (safety 0)))

Try adding a (float 0) to these optimizations in LispWorks...
You'll be surprised...

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xD26EF2A0
From: ·············@comcast.net
Subject: Re: free common lisp for win32
Date: 
Message-ID: <8ynj86r5.fsf@comcast.net>
"Alex Mizrahi" <·········@xhotmail.com> writes:

> lispworks, at least personal version, showed very slow performance on simple
> benchmark dealing with floating-point numbers(see below).

In Lispworks, if you want floating point code to run fast, you may
want to

(declare (optimize (float 3)))  

This cut the time in half for me.
From: Nils Goesche
Subject: Re: free common lisp for win32
Date: 
Message-ID: <87oewf86ls.fsf@darkstar.cartan>
·············@comcast.net writes:

> "Alex Mizrahi" <·········@xhotmail.com> writes:
> 
> > lispworks, at least personal version, showed very slow performance on simple
> > benchmark dealing with floating-point numbers(see below).
> 
> In Lispworks, if you want floating point code to run fast, you may
> want to
> 
> (declare (optimize (float 3)))  
> 
> This cut the time in half for me.

Make that (float 0) and it will be even much faster ;-)

Regards,
-- 
Nils G�sche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID #xD26EF2A0
From: ·············@comcast.net
Subject: Re: free common lisp for win32
Date: 
Message-ID: <y8vj6r0h.fsf@comcast.net>
Nils Goesche <···@cartan.de> writes:

> ·············@comcast.net writes:
>
>> "Alex Mizrahi" <·········@xhotmail.com> writes:
>> 
>> > lispworks, at least personal version, showed very slow performance on simple
>> > benchmark dealing with floating-point numbers(see below).
>> 
>> In Lispworks, if you want floating point code to run fast, you may
>> want to
>> 
>> (declare (optimize (float 3)))  
>> 
>> This cut the time in half for me.
>
> Make that (float 0) and it will be even much faster ;-)

Er, um.  Yeah.  That *is* a bit faster.

Damn it!  When I say (optimize (speed 3)), that means it is important
to optimize speed and I care about speed.  When I say (optimize
(safety 0)) that means it is unimportant to optimize safety and I
don't care about safety.

So when I *care* about floats and they are important, what do I use?
When I *don't care* about floats?

Sigh.  Fortunately, I don't use floats very much.
From: synthespian
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bmuv4s$r8s9l$1@ID-78052.news.uni-berlin.de>
Alex Mizrahi wrote:
> (message (Hello 'Pascal)
> (you :wrote  :on '(Fri, 17 Oct 2003 10:08:37 +0200))
> (
>  >> i'm looking for free common lisp implementation for win32 to make
>  >> standalone end-user application(this means that i'm not interested in
>  >> some dark console). and i want it to be as small as possible in final
>  >> form. and it's desired to work well with ffi, up to COM interfaces..
> 
>  PC> Maybe you should take a second look at the "non-free"
>  PC> implementations.
>  PC> Admittedly, many of them are pricey.
> 
>  PC> However, they might still be affordable. In your case, I would
>  PC> especially take a look at Corman Lisp.
> 
> in our country average wages are more than 10 times lower than wages in
> western europe and usa, so buying any software is not an option for me..
> 

   "What? An IDE is too expensive?
    Then, how do you manage to buy biscuits, to have them with coffee, 
in your coffee breaks?
    Why do you even /try/ to do research, with wages like that?
    What grants you the right to complain about the price of an IDE, 
when you manage to drive a cheap compact car?! Why don't you walk, or 
run, to your workplace?! Why don't you sell your little car and buy 
Allegro? That ought to get you to buy the version with Allegro Store!
    Look, and don't tell me you got your OEM Windows when you bought 
your computer! We know you steal computers from the shops at night! Why 
don't you use Linux, and make *everyone* in your department scratch 
their desktop OS and then you go door to door installing Linux?
    Stop bitching! You ain't the kind of customer Lisp vendors want!"


    Don't mind our wealthy European and North American friends, they 
don't /understand/...
    You might want to try CLISP. http://clisp.sourceforge.net/, it is a 
GPLed Common Lisp and they have a version for Win32.

   Henry
From: Daniel Barlow
Subject: Re: free common lisp for win32
Date: 
Message-ID: <87smloraqy.fsf@noetbook.telent.net>
synthespian <···········@uol.com.br> writes:

>     You might want to try CLISP. http://clisp.sourceforge.net/, it is
> a GPLed Common Lisp and they have a version for Win32.

If you read the original article and the followups that the original
poster made to other responses, I think it's clear that CLISP doesn't
satisfy his criteria.

This is always a problem when the selection criteria include "the
moon, on a stick", of course.


-dan

-- 

   http://web.metacircles.com/cirCLe_CD - Free Software Lisp/Linux distro
From: Rayiner Hashem
Subject: Re: free common lisp for win32
Date: 
Message-ID: <a3995c0d.0310280819.1e667da1@posting.google.com>
> This is always a problem when the selection criteria include "the
> moon, on a stick", of course.
His requests weren't of "the moon, on a stick" nature. People have
gotten used to having very competitive free compilers for their
languages. A Java developer can use Jikes, a C++ developer can use
g++, a C# developer can use Mono, and be confident that their tools
will be highly competitive with their commercial counterparts. Now,
these tools aren't necessarily as productive as their commercial
counterparts, because the latter have fancy GUI IDEs and support
tools, so people don't expect a free implementation to come with such
an IDE.

I think that this guy is just looking for something like CMUCL for
Windows. CMUCL certainly fits the model --- its a good compiler, but
doesn't have a great IDE.
From: Daniel Barlow
Subject: Re: free common lisp for win32
Date: 
Message-ID: <87y8v5hvlz.fsf@noetbook.telent.net>
·······@mindspring.com (Rayiner Hashem) writes:

>> This is always a problem when the selection criteria include "the
>> moon, on a stick", of course.
> His requests weren't of "the moon, on a stick" nature. People have
> gotten used to having very competitive free compilers for their
> languages. A Java developer can use Jikes,

funded by IBM

> a C++ developer can use g++

which employees at tens of companies have been paid to help develop

> a C# developer can use Mono

funded by Ximian

> and be confident that their tools
> will be highly competitive with their commercial counterparts. 

Perhaps this is at least partly because these tools practically
speaking /are/ commercial products.  They just don't come bundled with
commercial-quality support.

> these tools aren't necessarily as productive as their commercial
> counterparts, because the latter have fancy GUI IDEs and support
> tools, so people don't expect a free implementation to come with such
> an IDE.
>
> I think that this guy is just looking for something like CMUCL for
> Windows. CMUCL certainly fits the model --- its a good compiler, but
> doesn't have a great IDE.

I think if that was the case he wouldn't be complaining about the lack
of syntax highlighting in the Allegro editor, or about the sizes of
generated applications being 8Mb (Allegro) or 17Mb (Lispworks) resp.
CMUCL core files are bigger than that already.


-dan

-- 

   http://web.metacircles.com/cirCLe_CD - Free Software Lisp/Linux distro
From: Rayiner Hashem
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bnmrs8$vg$1@news-int.gatech.edu>
> Perhaps this is at least partly because these tools practically
> speaking /are/ commercial products.  They just don't come bundled with
> commercial-quality support.
That's really overstating the case. While most of those projects have
significant commercial support, they (with the exception of Jikes) are
still largely community supported. Ximian, especially, only exists as a
company because of the founder's ties to the open source community.
Besides, commercial vs. community is not the point of these products. The
fact that companies are getting into the act only confirms that the
development model is mutually benificial to both parties. The end result is
still that these tools are freely (as in speech and as in beer) available
for developers to use. 

> I think if that was the case he wouldn't be complaining about the lack
> of syntax highlighting in the Allegro editor, or about the sizes of
> generated applications being 8Mb (Allegro) or 17Mb (Lispworks) resp.
> CMUCL core files are bigger than that already.
The comments about Allegro and Lispworks came in response to someone
suggesting he take another look at them. Thus, the stuff about the syntax
highlighting was describing why he didn't think they were worth the money,
not why they didn't meet his requirements for the project. In his original
post, he mentioned GCL, CLISP, and ECL as candidates, which indicates that
he is really looking for a compiler, not an IDE. 
From: Daniel Barlow
Subject: Re: free common lisp for win32
Date: 
Message-ID: <87n0bkj3wj.fsf@noetbook.telent.net>
Rayiner Hashem <·······@mail.gatech.edu> writes:

>> Perhaps this is at least partly because these tools practically
>> speaking /are/ commercial products.  They just don't come bundled with
>> commercial-quality support.
> That's really overstating the case. While most of those projects have
> significant commercial support, they (with the exception of Jikes) are
> still largely community supported. Ximian, especially, only exists as a
> company because of the founder's ties to the open source community.
> Besides, commercial vs. community is not the point of these products. The
> fact that companies are getting into the act only confirms that the
> development model is mutually benificial to both parties. The end result is
> still that these tools are freely (as in speech and as in beer) available
> for developers to use. 

I didn't even mention commercial vs community.  That these are
commercially-funded products doesn't preclude their being free,
either in the $ sense (unless you consider Internet Explorer to
be non-commercial, or in the Religion sense - see e.g.
http://www.gnu.org/philosophy/categories.html#commercialSoftware

Personally I would love there to be a commercial Free-As-In-Religion
Lisp compiler, (especially if the company supporting it would pay me a
salary to hack it...).

Now that you've brought the 'community' thing up, though, let me ask:
what regard for `community' should I ascribe someone whose computer is
running a pirated operating system and who has already admitted he's
looked for warezed Lisps as well?

The poster who started this thread is not willing to pay for
commercial software and not even willing even to refrain from using
software that he /hasn't/ paid for.  If he shows that much regard for
the wishes of that portion of his fellow species, why should I (or any
other free software developer) care about /his/ feelings?  I really
don't care too much whether he wants Phobos on toast or a
toffee-asteroid on a string: for all I care about satisfying his
demands it may as well be the moon on a stick.  

(I note in passing that although Ximian was founded largely on the
reputation in the Linux community of Miguel and Nat, their decision to
implement a .NET-compatible was made a _long_ time after International
GNOME Support was set up.  Mono may now have significant external
contributors, but it would never have happened in the first place if
Miguel hadn't been in a position to kickstart it)


-dan

-- 

   http://web.metacircles.com/cirCLe_CD - Free Software Lisp/Linux distro
From: Rayiner Hashem
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bnncrb$do7$1@news-int2.gatech.edu>
> I didn't even mention commercial vs community.  That these are
> commercially-funded products doesn't preclude their being free,
> either in the $ sense (unless you consider Internet Explorer to
> be non-commercial, or in the Religion sense - see e.g.
> http://www.gnu.org/philosophy/categories.html#commercialSoftware
You said that the software was practically commercial, which I felt slighted
the community aspect. Excuse me if that was not your intention.
From: Björn Lindberg
Subject: Re: free common lisp for win32
Date: 
Message-ID: <hcsu15se5j6.fsf@red18.nada.kth.se>
Daniel Barlow <···@telent.net> writes:

> Now that you've brought the 'community' thing up, though, let me ask:
> what regard for `community' should I ascribe someone whose computer is
> running a pirated operating system and who has already admitted he's
> looked for warezed Lisps as well?

Note though that copyright laws differ between countries. Using
'pirated' software may or may not be illegal where the OP lives. If
not, it becomes a pure moral judgement, and there may be reasons
why a person would be prepared to use certain 'pirated' software but
not other, especially if the software is so expensive that he could
otherwise never afford it (the OP said that salaries in his country
are very low as compared to western countries).

(I am not encouraging illegal software copying here, just trying to
bring a little perspecitve.)


Bj�rn
From: james anderson
Subject: Re: free common lisp for win32
Date: 
Message-ID: <3F9F9C77.F139DE50@setf.de>
Bj�rn Lindberg wrote:
> 
> Daniel Barlow <···@telent.net> writes:
> 
> > Now that you've brought the 'community' thing up, though, let me ask:
> > what regard for `community' should I ascribe someone whose computer is
> > running a pirated operating system and who has already admitted he's
> > looked for warezed Lisps as well?
> 
> Note though that copyright laws differ between countries. Using
> 'pirated' software may or may not be illegal where the OP lives.

that distinction is bogus. either a country is prepared to participate in
international trade, or it is not. if it is, as the poster's country of
residence evidently is - to wit, the presence of his post in this forum, there
are international agreements, which stipulate, that in the ned, the governing
law is that of the copyright holder.

>   If
> not, it becomes a pure moral judgement, and there may be reasons
> why a person would be prepared to use certain 'pirated' software but
> not other, especially if the software is so expensive that he could
> otherwise never afford it (the OP said that salaries in his country
> are very low as compared to western countries).
> 
> (I am not encouraging illegal software copying here, just trying to
> bring a little perspecitve.)

the perspective is warped.

> 
> Bj�rn
From: Björn Lindberg
Subject: Re: free common lisp for win32
Date: 
Message-ID: <hcsptgg11jl.fsf@tjatte.nada.kth.se>
james anderson <··············@setf.de> writes:

> Bj�rn Lindberg wrote:
> > 
> > Daniel Barlow <···@telent.net> writes:
> > 
> > > Now that you've brought the 'community' thing up, though, let me ask:
> > > what regard for `community' should I ascribe someone whose computer is
> > > running a pirated operating system and who has already admitted he's
> > > looked for warezed Lisps as well?
> > 
> > Note though that copyright laws differ between countries. Using
> > 'pirated' software may or may not be illegal where the OP lives.
> 
> that distinction is bogus. either a country is prepared to participate in
> international trade, or it is not. if it is, as the poster's country of
> residence evidently is - to wit, the presence of his post in this
> forum,

I presume you are referring to the Berne Convention? On looking it up,
I notice that some of the countries I had in mind actually have signed
it in the last 3 years. Currently 151 countries have signed it, and it
seems my information was outdated.

I don't know where the OP is situated though, and I will refrain from
guessing.

> there
> are international agreements, which stipulate, that in the ned, the governing
> law is that of the copyright holder.

That is not entirely correct AFAIK.


Bj�rn
From: Ivan Boldyrev
Subject: Re: free common lisp for win32
Date: 
Message-ID: <1one71xh8a.ln2@ibhome.cgitftp.uiggm.nsc.ru>
On 8546 day of my life Bj�rn Lindberg wrote:
> I presume you are referring to the Berne Convention? On looking it up,
> I notice that some of the countries I had in mind actually have signed
> it in the last 3 years. Currently 151 countries have signed it, and it
> seems my information was outdated.
>
> I don't know where the OP is situated though, and I will refrain from
> guessing.

AFAIR, Russia signed Berne Convention.  Anyway, it is illegal to use
pirated software in Russia.

-- 
Ivan Boldyrev

                               Onions have layers.  Unix has layers too.
From: Damien R. Sullivan
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bob0kv$uoj$1@hood.uits.indiana.edu>
Daniel Barlow <···@telent.net> wrote:
>·······@mindspring.com (Rayiner Hashem) writes:
>
>>> This is always a problem when the selection criteria include "the
>>> moon, on a stick", of course.
>> His requests weren't of "the moon, on a stick" nature. People have
>> gotten used to having very competitive free compilers for their
>> languages. A Java developer can use Jikes,
>
>funded by IBM
>
>> a C++ developer can use g++
>
>which employees at tens of companies have been paid to help develop
>
>> a C# developer can use Mono
>
>funded by Ximian

ocaml users can use ocaml, on Unix, Windows, or Macs, though some of the
libraries don't work on Macs.

Scheme users can use at least bigloo, chicken, gambit, and mzscheme, with
varying tradeoffs of speed and libraries.

Haskell users can use ghc, which is as competitive as Haskell can be.

Now some of these, especially ocaml, have academic funding, and perhaps
Common Lisp has lost all free funding.

-xx- Damien X-) 
From: Edi Weitz
Subject: Re: free common lisp for win32
Date: 
Message-ID: <874qxiizxq.fsf@bird.agharta.de>
On Wed, 5 Nov 2003 14:14:55 +0000 (UTC), ········@cs.indiana.edu (Damien R. Sullivan) wrote:

> ocaml users can use ocaml, on Unix, Windows, or Macs, though some of
> the libraries don't work on Macs.
>
> Scheme users can use at least bigloo, chicken, gambit, and mzscheme,
> with varying tradeoffs of speed and libraries.
>
> Haskell users can use ghc, which is as competitive as Haskell can
> be.

CLISP as well as ECL are Common Lisp implementations which can be used
on all three platforms IIRC. Isn't that enough?

Edi.
From: Damien R. Sullivan
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bobl8f$6fa$1@hood.uits.indiana.edu>
···@agharta.de wrote:

>CLISP as well as ECL are Common Lisp implementations which can be used
>on all three platforms IIRC. Isn't that enough?

Not if native-code compilers are desired.  At least for CLISP; I don't know
ECL.

-xx- Damien X-) 
From: Juan Jose Garcia-Ripoll
Subject: Re: free common lisp for win32
Date: 
Message-ID: <bod1tm$1c81tj$1@ID-212141.news.uni-berlin.de>
Damien R. Sullivan wrote:
>>CLISP as well as ECL are Common Lisp implementations which can be used
>>on all three platforms IIRC. Isn't that enough?
> Not if native-code compilers are desired.  At least for CLISP; I don't
> know ECL.

ECL is an embeddable implementation that comes with these elements: (i) a
library that implements most of the Common-Lisp language including CLOS,
which includes a bytecodes compiler and interpreter, and which can be
embedded in C programs; and (ii) a Lisp->C translator to speed up some
critical lisp code, and to be able to call routines from the C world from
lisp. Support for dynamically loading compiled code is under way on MacOSX
and Windows. We are still looking for somebody to port ECL from
windows+cygwin (the currently supported environment) to windows+mingwin.
More information: http://ecls.sourceforge.net and on the mailing list.

Regards

Juanjo
From: PKY
Subject: Re: free common lisp for win32
Date: 
Message-ID: <9eb48ce9.0310280028.60ff85d3@posting.google.com>
"Alex Mizrahi" <·········@xhotmail.com> wrote in message news:<··············@ID-177567.news.uni-berlin.de>...
> (message (Hello 'Pascal)
> (you :wrote  :on '(Fri, 17 Oct 2003 10:08:37 +0200))
> (
>  >> i'm looking for free common lisp implementation for win32 to make
>  >> standalone end-user application(this means that i'm not interested in
>  >> some dark console). and i want it to be as small as possible in final
>  >> form. and it's desired to work well with ffi, up to COM interfaces..
> 
>  PC> Maybe you should take a second look at the "non-free"
>  PC> implementations.
>  PC> Admittedly, many of them are pricey.
> 
>  PC> However, they might still be affordable. In your case, I would
>  PC> especially take a look at Corman Lisp.
> 
> in our country average wages are more than 10 times lower than wages in
> western europe and usa, so buying any software is not an option for me..
> 
> i have trial versions of corman, allegro and lispworks installed. and i
> can't say i really like them..
> allegro made standalone distrib ~8 mb large, and crashed during this.. and..
> couldn't they implement syntax highlighting in editor?.. 8-]]]
> lispworks, at least personal version, showed very slow performance on simple
> benchmark dealing with floating-point numbers(see below). i could not test
> building standalone application, but i think it
> will be not less than allegro - exe of lispworks itself is 17mb!
> corman goes with sources, has good ffi, bindings for win32 modules and
> distrib with it can be made ~1mb. but it's buggy - i experience random
> crashes when it goes away w/o saying a word, as well as incorrect
> behavoiur - for example, 'directory function doesn't list folders, corman
> lisp calls initialize-instance when redefining class(when other
> implementations call reinitialize-instance)..
> 
> so, i thought that free implementations can be better, and i will be able
> to hack them to have what i want.
> 
> 
> so, here's a function which i used to check implementations speed. cmucl,
> allegro and C(intel compiler, with improved floating-point consistency
> turned on) showed aprox same speed, lispworks was about 10 times slower(it
> says it did a lot of allocations..), and ecl generated code for gcc that
> surprisingly runned even faster than function compiled with intel optimizing
> c++ compiler 6 with all optimizations on - 4 times faster than first
> mentioned results, intel was only ~2 times faster..
> 
> (defun bench()
>   (declare (optimize (speed 3) (debug 0) (safety 0)))
>   (do ((k 1.0)
>        (l 1024.0)
>        (i 0 (1+ i)))
>       ((= i 2000000) k)
>  (declare (fixnum i) (single-float k l ))
>     (setq k (/ (+ k l) 2.0)) (setq l k)
>     (setq k (/ (+ k l) 2.0)) (setq l k)
>     (setq k (/ (+ k l) 2.0)) (setq l k)
>     (setq k (/ (+ k l) 2.0)) (setq l k)
>     (setq k (/ (+ k l) 2.0)) (setq l k)
>     ))
> 
In this case I have to say that the compilers are not so bright at
all.
The loop can be opencoded totally in compile time & the resulting
function is

(defun bench ()
   512.5000000
)

For sake of matter, the lisp compiler what i am still developing
deduced the first line of loop into something similar to

(setq k (/ ( + ("lexical constant" k) ("lexical constant" l))
("explicit constant" 2.0)))
(setq l ("deductable value" k))

And after this both l & k are "deductable value"s in the end of the
loop body

And so on.

In the end of analysis of the tagbody progn (do macro) the tagbody can
be eliminated.
Changing the values of k, l, and i to something else should also be no
big deal The only need arise from check of the l, k , i values and
assign so if the function would be written as:

(defun bench(x y z)
  (declare (float-safety 0)) ; not standard
  (do ((k x)
       (l y)
       (i 0 z))
      ((= i 2000000) k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    (setq k (/ (+ k l) 2.0)) (setq l k)
    ))

smart compiler could make function look like this:

(defun bench (x y z)
 (when (or (not (numberp x))
	  (not (numberp y))
          (not (fixnump z)))
	(error "Invalid values for x y z")
 )
 (/ (+ x y) 2.0)
)

As a matter of fact I do a lot of this kind of code changes inside my
lisp compiler.
Only have to be careful not to optimize too much sometimes.

	PKY

> 


> )
> (With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
> (prin1 "Jane dates only Lisp programmers"))