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