I've now released version 5.2 on SourceForge. There are no major changes in this release but it contains some updates and bug fixes. I'll update the release notes shortly but these are the major changes.
Change to PolyML.compiler to allow more control over parameters and addition of "name space". The current PolyML.compiler has a different type from previously so this will affect code that uses it.
Improvement to real numbers on X86 (32 and 64 bit).
Fix to a hot-spot in the compiler. This and other changes seem to have speeded up the compiler by about 10%.
Improvement to the source-level debugger (i.e. when compiling with PolyML.debug set to true), especially tracing.
Addition of weak references. The Weak structure contains functions to create weak references and arrays and a condition variable and associated mutex that is signalled when a weak reference has been deleted by the garbage collector.
Changes to handling of signals by the Signal structure. Rather than forking a new thread to process each signal there is a single thread that executes all the signal handlers. This should improve the responsiveness to an asynchronous signals such as SIGINT. The original control-C handler has been removed and the Poly/ML read-eval-print loop now installs a simple handler for control-C that just generates an Interrupt exception.
There have been various bug fixes and probably a few other things that I've forgotten. As always, let me know how it goes.
David