[racket] Garbage collection in Racket

From: Rüdiger Asche (rac at ruediger-asche.de)
Date: Mon Jul 23 14:36:43 EDT 2012

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.



Posted on the users mailing list.