I'm developing a Lisp application that links to C code. The general organization is that the Lisp code builds a function that encodes a system of ordinary differential equations. This function is passed off to C code that solves the system and returns values of the variables over time. I have this code up and running in Allegro, Clisp, and CMUCL, but for some reason CMUCL exhibits some memory problems.
Specifically, calls to solve the system of equations lead to several invocations of the garbage collector (presumably due to memory management issues) to the extent that the code cannot complete within a reasonable time. Any ideas what could be causing this? Is there something flaky about callbacks from C into Lisp? Will
