If I should be playing with Chicken instead, tell me why! :)
If I should be playing with Chicken instead, tell me why! :)
A list of packages (called "eggs") is available at http://wiki.call-cc.org/chicken-projects/egg-index-4.html
(Disclaimer: I don't know much about Gambit, and cannot comment on their respective implementation capabilities.)
Gambit includes bignum support without external dependencies.
[1] http://wiki.call-cc.org/man/4/Deviations%20from%20the%20stan...
(I use Gambit but not Chicken)
This note in the documentation for that egg looks worrisome [1]: "IMPORTANT: This only works when the code will be run on exactly the same platform as the Scheme compiler ran on. Cross-compilation and compiling to C and compiling that on the target platform is not supported. (You will get an error message when you try to do it anyway)"
Does this mean that cross-compiling for iOS would preclude using this bignum egg ?
I've been interested in Gambit because it seems to allow fairly direct intermixing of Scheme and C code. I don't recall seeing Chicken being able to mix the two in the same file.
Chicken seems to have more libraries available and might be better for use doing things like Unix scripting or system tasks.
By the way, if you are interested in Gambit, and are on Debian/Ubuntu, I would suggest building Gambit from source rather than using the gambc package in the repo. It looks like that package is very out of date at this point. (It's actually been orphaned in Debian and I've been considering adopting it to bring it up to date.)
I have built Gambit from source on both OS X and my Debian VM - no problems using them, but I haven't done anything remotely advanced yet.
Actually, it can. Just use a 'foreign-lambda' to embed your C code as a string, if that's what you want.
In fact, Chicken and Gambit's FFI are so similar that I managed to use an OpenGLES FFI from Gambit on Chicken with just a couple of macros to convert between them.