nefarious Schemes

Brandon Van Every <[email protected]>
Newsgroups gmane.games.devel.sweng
Message-ID <[email protected]>
On Thu, Jan 28, 2010 at 9:23 AM, Tomi Neste <[email protected]> wrote:
>
>
> On Thu, Jan 28, 2010 at 8:14 AM, Brandon Van Every <[email protected]>
> wrote:
>>
>> On Thu, Jan 28, 2010 at 12:51 AM, OvermindDL1 <[email protected]>
>> wrote:
>> > On Wed, Jan 27, 2010 at 10:35 PM, Brandon Van Every
>> > <[email protected]> wrote:
>> >> Embeddable Common Lisp.
>> >> http://ecls.sourceforge.net/  I don't know about the performance
>> >> though.
>> >
>> > Yeah, I had found that one before, but slight issue, it is infected by
>> > the GPL:
>> >  GNU Library or Lesser General Public License (LGPL)
>>
>> There aren't any Lisp implementations that are free, work well on
>> Windows, have good performance, and good licenses.  Once upon a time I
>> gave up on the Lisp universe on Windows because SBCL just couldn't get
>> its porting act together.  Seems it still hasn't, looking at their
>> website.  There's more available in the Scheme universe.  I used to
>> work on the build for Chicken Scheme, a Scheme-to-C compiler that is
>> BSD licensed.  http://www.call-with-current-continuation.org/  I can't
>> really comment on the performance though; it's been 2 years.
>> Numerical performance probably lacks.  Felix, the project owner, is
>> easy to work with and receptive to contributions.  He just can't be
>> arsed to deal with CMake, hence why we parted ways.  Oh... shoot, that
>> reminds me, MSVC support died with my departure.  Well, um, sorry.  I
>> had tamed that wilderness, had it under control for 6 months.  Then
>> reality happened: Unix guys do not care about MSVC.  I think you will
>> probably be wasting your time looking for another Scheme to suit your
>> needs; Chicken was the closest thing out there.  Keep working on your
>> own language, you're better off.
>
> Just a quick datapoint: I think these days Gambit Scheme
> (http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page ) is the
> best choice if you want an reasonably sized and well performing Scheme
> compiler with good C integration. It's mostly similar to Chicken but has an
> actively maintained MSVC port and there has also been iPhone etc. ports and
> at least one indie game made with it; http://www.quantzgame.com/

LGPL and Apache dual license.  I wasn't terribly familiar with the
latter; it is BSD-ish.

Gambit isn't integrated into The Great Language Game, so direct
performance comparison to other languages is not convenient.  That
said, there is a webpage explaining how to bench it.
http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Programming_language_shootout

Some benchmarks comparing Schemes.
http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Gambit_benchmarks
Mostly Bigloo and Gambit duking it out.  Bigloo was based on the same
compiler technology as OCaml, so I do find its performance impressive
for a Scheme.  Bigloo is usually regarded as the one to beat, except
perhaps for Stalin.  Not sure if they're fudging on Bigloo types to
make Bigloo look bad.  Specific type annotation is typical of Bigloo
in practice, and of course that is not standard Scheme.   Bigloo is
LGPL for libraries and GPL for the compiler.  I remember debugging
build stuff in the Bigloo community.  Due to license issues and no
source control support for the MSVC version, I moved on to Chicken.

Gambit has the same kind of build that Chicken had when I came on the
scene.  Hand-rolled .bat file to directly drive the compiler.  The
problem with that kind of build environment, is that when changes are
made to the Unix / Autoconf side of the distro, they do not make it
into the MSVC .bat file.  So the latter breaks, a lot.  Chicken was
horribly unreliable on Windows until I tamed it.  The cost of taming
it, was adding CMake to the distro.  I have learned through bitter
experience that you cannot *add* CMake to a community's Autoconf
build.  You have to *replace* Autoconf.  If you do not generate the
political will to replace Autoconf, then the Unix guys will stay lazy.
 They will update the Autoconf build they are familiar with, prefer
Autoconf when working on Linux-side package management tools, and
refuse to deal with CMake.  Eventually tempers flare, build guy walks,
and Unix guys dump the CMake build.  Can't solve a political problem
with technology.


Cheers,
Brandon Van Every
_______________________________________________
Sweng-Gamedev mailing list
[email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.