[MLton] Callback functions: how?
Vesa Karvonen
vesa.karvonen at cs.helsinki.fi
Thu Feb 15 13:19:34 PST 2007
Quoting Henry Cejtin <henry.cejtin at sbcglobal.net>:
[...]
> you could use a trick like this: you use an array instead of a hash table, as
> discussed, but the void * argument isn't an integer but a pointer to an
> integer (pointing into the C heap). This way you can re-number the integers
> pointed to when the array becomes too sparsely occupied. It costs you one
> level of indirection (to get the int) but is safe for space.
[...]
Indeed, as Teal'c would say it. That is roughly the idea that my PtrCache uses:
http://mlton.org/pipermail/mlton/2007-February/029608.html
The array isn't sparse, however. All the values are eagerly packed to the
beginning of the array while the end of the array may contain empty slots.
-Vesa Karvonen
More information about the MLton
mailing list