[racket] Garbage collection in Racket
You seem to be asking for Pascal or C/C++. Then again, is it possible that
"critical" regions of your program could be managed via finalizers and your
own memory administration? Giving up even one iota of GC soundness, sounds
like giving up all of memory soundness though it's possible I am overlooking
something.
-----------------------------------------------------------------------------------------------------------------------------------------
You probably have a point there; however, soundness is neither the only nor
the foremost criterion that will decide upon the success of a programming
environment in the field (unfortunate as it may be)...
Come to think of it, any implementation of Scheme that could be of practical
use in the embedded world MUST compromise one major tenet of the language or
the other - for example, in Embedded, it MUST typically be possible to
decide *where* in memory a given data item resides (eg volatile vs. non
volatile or zeroed vs. non zeroed memory). Likewise, for real time
applications, the turnaround of certain computations must be predictable and
bound which is very hard with a GC in place whose behavior can not be fine
tuned. It is probably for these (and related) reasons that we still do most
of our work in Embedded in C/C++ which is a bummer...
but probably these discussions lead us too far away from the original
question for which I wish to apologize.