Do not feed the trolls! ;)
On Tue, Feb 17, 2009 at 4:35 PM, Marc Feeley feeley@iro.umontreal.ca wrote:
On 17-Feb-09, at 1:47 PM, lowly coder wrote:
Not impressed at all. In fact, why is Gambit so big? Why is there 100K LOC for the *.scm s? There doesn't seem to be many built in libraries. All for optimizing?
Don't ask why but why not! ;-)
There are on the order of 200 procedures and special forms defined by R5RS. Gambit adds another 800. So there are lots of builtin features. About 50 KLOC are in the runtime system and 50 KLOC in the compiler.
I've written a few small Scheme's in my career... for example picobit is really small (it can fit in less than 10K on an embedded system) and BIT is just slightly bigger but it implements almost all of R4RS.
So my question to you... why are you not using BIT? That would be the best choice if you are worried about size and R4RS conformance.
I suspect there are features of Gambit that you like and that make your life as a programmer simpler so you prefer using it to other Scheme systems. Perhaps one of
- feature-full debugger (single-stepping, backtrace, descriptive error
messages, error pinpointing, live repair, etc)
- space and time efficient scalable thread system (how many languages
do you know can manage millions of threads?)
- full-featured I/O system integrated into the thread system
- ability to mix compiled and interpreted code seamlessly and to load
compiled code dynamically
- ability to interface easily with C code
- one of the many extensions (homogeneous vectors, networking,
subprocesses, hash tables, pretty printing, readtables, serialization, etc)
- complete numerical library with fast bignum operations
- etc (check the README file)
All of these things contribute to the "user experience" that people appreciate when using Gambit. You aren't confronted with these things when you first start using Gambit (and that's the way it should be)... you only see the simple > prompt. But these features are ready to be used when you are ready to use them. It is true that these things take code space, so that the gsi executable (essentially the Gambit runtime system) takes about 3 MB, but that compares favourably to many other language implementations (on desktops) and it takes only 15 milliseconds (real time) to start and exit, so it is lightweight enough to use for everyday scripting (on my computer that's about 3 times slower than /bin/sh, but still twice as fast as Scheme48 (which also has a 3 MB footprint) and about 30 times faster than mzscheme). So Gambit is not as "bloated" as you might think!
Marc
--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Jazz Scheme" group. To post to this group, send email to jazzscheme@googlegroups.com To unsubscribe from this group, send email to jazzscheme+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/jazzscheme?hl=en -~----------~----~----~----~------~----~------~--~---