David,
This looks really great - it should prove very valuable. I have a couple of questions about GC when performed by another thread:
1. Is PolyML.fullGC asynchronous, i.e. triggers GC to start in the background and returns immediately, or synchronous, i.e. waits until GC completes? (Looking at profiling output for some GTK+ programs, GC is not occurring as often as I would perhaps want so was considering inserting explicit GC calls.)
2. Are finalizers run in separate threads, i.e. should we be making sure that our finalization code - whether C or SML via a callback - is thread-safe?
Thanks, Phil