[plt-scheme] Help with extending mzscheme.
At Fri, 14 Sep 2007 19:42:37 +0100, "dragal V2.0.3" wrote:
> 1. the scheme_malloc_* family of functions segfault if the requested memory
> is unavailable.
See scheme_malloc_fail_ok(), but it's effective at avoiding crashes
only when a large block of memory is requested.
> 2. Is it possible to register a function which is called when a object is
> garbage collected?
See scheme_register_finalizer().
> 3. I have found it desirable to create scheme objects which act as a wrapper
> for the actual game data. [...]
> The best idea I have had is to use a hash map to keep a record of currently
> available wrapper objects and return the appropriate wrapper. However,
> question 2 would have to be possible in order to keep the table updated.
Use a hash table with weakly held keys. At the Scheme level, that's
`(make-hash-table 'weak)'.
Matthew