PolyML version 4.1.3 is now available. Below are a list of the major changes and bug fixes since the 4.1.2 release taken from the release notes. Version 4.1.3 has been available unofficially for a while but the release on the web site is now complete and this incorporates a few bug fixes which were only found during testing.
As usual I welcome comments and bug reports and I'll try to respond fairly quickly but the response will depend on pressure of other work. David
New features and Changes
Printing control switches New switches have been added to the Poly/ML.Compiler structure to control the printing of declarations. In both cases the default setting is true. Setting PolyML.Compiler.printInAlphabeticalOrder causes declarations to be printed in the order in which they were made rather than in alphabetical order. Setting PolyML.Compiler.printTypesWithStructureName to false causes types to be printed without the structure from which they came.
Large database support The support for large databases has been improved and it is now possible to create a database which will occupy all of the virtual memory reserved for it. The actual limits vary between operating systems and platforms but are typically around 400Mbytes.
To aid this the -S option when running the disc garbage-collector (-d option), introduced in 4.1.1, has been extended with -Smin and -Smax. The options can be written using either -s or -S and with or without a space. Setting a size is now "sticky" so if no -s/-S option is given the previous limits are retained rather than being reset to the default. The -Smax option sets the limits to the maximum space available. This space now depends only on the size reserved for any parent databases and not, as before, on the history of the database.
The -Smin option compacts the database into a size whose upper limit is set to the size actually in use before compaction. To make best use of it it is probably best to run it twice, once to compact the database and again to set the upper limits to the now reduced size. It is useful when a database has been created which will not be modified further but where child databases may be created. Compacting a database to the minimum size allows any child databases to occupy as much space as possible.
The disc garbage collection has been changed so that it is now possible to use all the address space. Previously it was always necessary to reserve a certain portion of the space to allow the database to be collected.
Bugs fixed
Mac OS X 10.2 Mac OS X 10.2 introduced a undocumented change to the kernel interface when delivering signals. This meant that the original binaries will not run on 10.2. This has now been fixed.
Crash on delivering console interrupt on PowerPC There was a bug in the Poly/ML process (lightweight thread) code on the PowerPC which caused a crash when a process terminated. This could happen when a user-installed signal handler was called, for example the console interrupt handler in Isabelle.
Crash in equality code An error in the compilation of the equality function meant that certain expressions involving equality could cause a crash. This has been fixed.
David> PolyML version 4.1.3 is now available. Below are a list of the David> major changes and bug fixes since the 4.1.2 release taken from David> the release notes. Version 4.1.3 has been available David> unofficially for a while but the release on the web site is now David> complete and this incorporates a few bug fixes which were only David> found during testing.
Hi,
the link to the i386 database file on the webpage is wrong:
<p><font face="Arial">For other operating systems and for the Sparc architecture you may wish to use the appropriate database and the driver source.</font></p> <p><font face="Arial">i386 - <a href="dbases/polyml-4.1.3.sparc.tar.gz"> polyml-4.1.3.i386.tar.gz</a></font><br>
(I was able to download the file by guessing the correct address :)
David> PolyML version 4.1.3 is now available. Below are a list of the David> major changes and bug fixes since the 4.1.2 release taken from David> the release notes. Version 4.1.3 has been available David> unofficially for a while but the release on the web site is now David> complete and this incorporates a few bug fixes which were only David> found during testing.
itz> the link to the i386 database file on the webpage is wrong:
itz> (I was able to download the file by guessing the correct address itz> :)
A more serious problem:
kronstadt:~/downloads$ wget http://www.polyml.org/source/polyml-mlsource-4.1.3.tar.gz --11:09:26-- http://www.polyml.org/source/polyml-mlsource-4.1.3.tar.gz => `polyml-mlsource-4.1.3.tar.gz' Resolving www.polyml.org... done. Connecting to www.polyml.org[212.23.14.10]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 835,584 [application/x-tar]
100%[====================================>] 835,584 29.59K/s ETA 00:00
11:09:54 (29.59 KB/s) - `polyml-mlsource-4.1.3.tar.gz' saved [835584/835584]
kronstadt:~/downloads$ gunzip polyml-mlsource-4.1.3.tar.gz
gunzip: polyml-mlsource-4.1.3.tar.gz: unexpected end of file kronstadt:~/downloads$ gzip --version gzip 1.3.2 (2001-11-03) Copyright 2001 Free Software Foundation Copyright 1992-1993 Jean-loup Gailly This program comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of this program under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. Compilation options: DIRENT UTIME STDC_HEADERS HAVE_UNISTD_H HAVE_MEMORY_H HAVE_STRING_H HAVE_LSTAT Written by Jean-loup Gailly. kronstadt:~/downloads$
These should now both be fixed. I don't understand why the second problem happened but I've uploaded a new version and it seems fine now. David.
On Wednesday, Oct 2, 2002, at 19:12 Europe/London, Ian Zimmerman wrote:
itz> the link to the i386 database file on the webpage is wrong:
A more serious problem:
kronstadt:~/downloads$ wget http://www.polyml.org/source/polyml-mlsource-4.1.3.tar.gz kronstadt:~/downloads$ gunzip polyml-mlsource-4.1.3.tar.gz