Thanks to some financial support from the Verisoft project and TUM I've
been working through the summer on an updated version of the Poly/ML
run-time system and a new code-generator for the AMD 64-bit architecture.
The major new features are:
Support for stand-alone binaries
Support for additional platforms: AMD64, Intel Macs, Cygwin
No artificial limits on size of heaps or saved image
Uses standard GNU tools for building
Fixed address mmap and trap-handling removed
This comes at one significant cost: the persistent store system that has
been a feature of Poly/ML almost since the beginning has been removed.
The reason for this is that to be effective the persistent store
needed to be able to reload a database at the same address every time
but that could conflict with other libraries and result in seg faults.
Rather than constantly adjust the location of the database with each new
kernel release I decided to make the leap and change to making
stand-alone binaries. This achieves much the same as the persistent
store but without the complications.
This version is currently only available by cvs from sourceforge and is
a beta release. Full details and example code showing how to export a
function and build an application can be found in
http://www.polyml.org/Version5Beta.html .
Makarius has been testing this with Isabelle and after some bug fixes it
all seems to work. I would like to get some more feedback before making
a final release but I'm aiming for a release in about a month.
David.