On 2/11/06, John <address@hidden> wrote:
I think a 3D framework in Scheme is a pretty rockin' idea. I had a
simple one running in Chicken that worked pretty well, but I ended up
moving it to Bigloo. I was more afraid of the copying collector than
anything else: It'd be easy enough to allocate all big stuff outside of
scheme with the FFI, but I feel like I'd still get bitten by the copying
gc in the end. Which is kind of a shame, because Chicken's gc seems to
handle cases that Bigloo doesn't like too much (lots of garbage in a
short amount of time, which is handled by a minor gc).
The copying GC is indeed a problem in tight loops, but if you keep
your heap small, the GC times should be minor. Can you say something
about the size and type of the datasets you had?
I definitely agree that it's a waste of time to try to make Chicken
bindings for an existing engine. Almost everything is written in C++
for starters -- it feels like interfacing any scheme with any C++
application of size will be a long, painful road. Besides, Scheme will
never achieve world domination if it's always just an extension language :)
Well, it can start infiltrating before it dominates. I think connecting to
an existing engine is the path of least resistance (so to speak).
I have the beginnings of a SWIG-based binding to the Irrlicht 3D
engine, but it's far from being complete.