Standard ML of New Jersey Version 110.0.1, January 12, 1998 --------------------------------- This is the first patch release for version 110. It fixes a few serious bugs that slipped through in version 110, as well as adding a couple of new features. Recent Bug Fixes ---------------- Numbered bugs fixed in this patch version: 891. mllex state names not as general as advertized 997. lexgen doesn't check for unmatched quotes 1209. casting polymorphic functions and abstract types 1318. incorrect sigmatch error in higher-order functor 1320. path name syntax used by cm when compiling to x86 1322. "Compiler bug: LambdaType: wrong TCs in tc_select" 1325. raises exception in compiler while trying to print error message 1326. nonexhaustive match failure in pretty printer 1327. tycStamp secondary error Other changes ------------- - It is now possible to turn GC messages off and on, by using the function SMLofNJ.Internals.GC.messages - The implementation of OS.IO.poll has been fixed to agree with the basis specification (order of results matches order of arguments). - A potential infinite loop in runtime/c-libs/posix-filesys/getcwd.c was fixed. - Added a clear operation to the Queue and various hash table structures in the SML/NJ library. Standard ML of New Jersey Version 110.0.2, January 16, 1998 --------------------------------- This is the second patch release for version 110. It fixes a few serious bugs that slipped through in version 110 (and 110.0.1), as well as adding a couple of new features. See the file 110-PATCH-1 for information on 110.0.1. Recent Bug Fixes ---------------- Numbered bugs fixed in this patch version: 1335. nonexhaustive match failure in mips code generator 1337. exportFn in CML produces large images 1338. uncaught Unbound while compiling MLKit Other changes ------------- The Windows 95/NT version is now distributed as an InstallShield(tm) package (110-smlnj.exe). This is a self-extracting archive. You execute it, it unpacks, and starts up the setup program by itself. From that point, it's pretty standard installation procedure common on Windows. The only thing maybe to note is that a reboot is strongly advised, to have the changes to the registry (PATH env. variable and such) take effect. Note that the archive does not contain the source code, except for the SML/NJ Library, which is provided in source, and the ml-yacc library. If one wants the source of ml-lex, ml-yacc, ml-burg, the runtime, the compiler, or CM, you have to download the appropriate compressed tar file. =========================================================================== Standard ML of New Jersey Version 110.0.3, January 30, 1998 --------------------------------- This is the third patch release for version 110. It fixes a few serious bugs that slipped through in the earlier patch releases. See the files 110-README, 110-PATCH-1, and 110-PATCH-2 for additional information. Recent Bug Fixes ---------------- Numbered bugs fixed in this patch version: 1047. Not very random, random number generator ... (smlnj-lib) 1337. exportFn in CML produces large images* 1340. Segmentation fault on Sparc, x86, Alpha, and MIPS - Match exception related to span dependent loads on the hppa. * we thought that this had been fixed in 110.0.2, but were mistaken. Other changes ------------- Problems with the InstallShield installation on Windows95 have been fixed. Installation problems under Linux have been fixed. Installation problems under gcc 2.8.0 on the x86 have been fixed. Made some minor additions to the Util library in the SML/NJ Library. Added the GetDpy utility module to eXene. This provides simple support for getting the display and authentication information. =========================================================================== Standard ML of New Jersey Version 110.0.4, July 15, 1999 -------------------------------- This patch version was not released because of problems with the Win32 build. See 110-PATCH-5 for more information. =========================================================================== Standard ML of New Jersey Version 110.0.5, September 9, 1999 ---------------------------------- http://cm.bell-labs.com/cm/cs/what/smlnj/index.html This is the fourth patch release for version 110 (110.0.4 was not released). The primary purpose of this update is to fix problems in CML, but a number of other bug fixes are included, as well as some enhancements. Recent Bug Fixes ---------------- Numbered bugs fixed in this patch version: 1302. handling differing newline conventions across OSes 1352 Equality status of reals is compromised 1354. spurious? "possibly inconsistent structure definitions" 1357. rebinding of constructors and exceptions not allowed 1365. datatype representation across functor boundary 1368. 1+2 = 102 in IntInf [in library] 1369. Unbound exception on structure sharing violation 1374. Datatype replication causes nonexhaustive match error. 1377. OS.FileSys.tmpName differs in unspecified behaviour on Windows and Unix 1382. space leak in CML 1384. incorrect complaint about "inconsistent structure definitions" 1386. redefinition of a type spec is not detected 1391. Compiler bug - TransTypes: unexpected wildcard-type in toTyc 1421. incorrect type comparison for val spec in signature match 1432. signature match fails for datatype specs if "where type" is used 1450. bugs in Array2.fromList and Array2.row 1463. Broken ARRAY2 Code 1477. assembler syntax nits for X86.prim.asm 1500. Runtime system on Linux with glibc2 1503. redefinition of `struct sigcontext' under red hat 6.0 Other bug fixes: Installation problems under Irix6.5 and RedHat 6.0 have been fixed. CM -- o Made changes in the lexing/parsing of source.cm files so that the same files can work both with 110.0.5 and the new CM introduced with 110.20. SML/NJ Library -------------- o The Pretty printing and regular expression libraries are now built as part of the SML/NJ Library installation. o New implementations of functional sets and maps based on Chris Okasaki's red-black tree implementation. These are significantly faster than the balanced binary tree implementations for most operations (the main exception is union, which is slightly slower). o A number of other new modules and minor bug fixes (see smlnj-lib/CHANGES for details). Concurrent ML ------------- o CML now runs under WindowsNT (and probably Windows98). Support for sockets on Windows is also included. eXene ----- Various bug fixes; see eXene/CHANGES for details. =========================================================================== Standard ML of New Jersey Version 110.0.6, October 31, 1999 ---------------------------------- http://cm.bell-labs.com/cm/cs/what/smlnj/index.html This is the fifth patch release for version 110 (110.0.4 was not released). The primary purpose of this update is to fix problems in CML, but a number of other bug fixes are included, as well as some enhancements. Recent Bug Fixes ---------------- Numbered bugs fixed in this patch version: 1294. Real.fromString accepts too much 1359. unexpected diagnostic message 1407. ARRAY does not agree with Basis Library spec 1448. Real.round does not round to nearest even for ties 1525. Array2 bug 1530. ListSetFn should have opaque result [smlnj-lib] SML/NJ Library -------------- o Fixed bug in RedBlack trees (the linear time construction of trees from ordered sequences was producing backwards trees). o Changed UREF signature so that union, unify, and link operations now return a boolean. o Added peekFn to PropList.newProp return result. o Added TextIOPP structure to pp-lib.cm (it was not being exported). o Changed the getOpt API. Errors are now reported using a callback and both usage and getOpt take records as arguments. Also changed the NoArg descriptor to take a function so that imperative argument processing can be supported. o Changed CM files to be compatible with both the old (110.0.x) and new (110.20+) versions of CM. Platforms: ---------- We have built 110.0.6 and tested it with the regression suites on the following platforms: x86-linux (Red Hat 5.1, Linux 2.0.35; Red Hat 6.0, Linux 2.2.5-22) x86-win32 (Windows NT 4.0) x86-freeBSD (FreeBSD 3.2 - built but not tested) sparc-solaris (UltraSparc II, Solaris 2.5.1) alpha32-dunix (Digital Unix 4.0) hppa-hpux (HPUX 10.20) mipseb-irix6 (R10000, IRIX 6.4) The system should build on rs6000-aix, but we no longer have access to an rs6000-aix machine for testing. Any volunteers? This version will not run on more recent PowerPC-based RS6000 machines, but current working versions of SML/NJ will run under powerpc-aix. =========================================================================== Standard ML of New Jersey Version 110.0.7, September 9, 2000 -------------------------------------- http://cm.bell-labs.com/cm/cs/what/smlnj/index.html This is the sixth patch release for version 110 (110.0.4 was not released). This patch release fixes a long-standing bug in signal handling. It also includes a number of SML/NJ Library enhancements and fixes. Recent Bug Fixes ---------------- Numbered bugs fixed in this patch version: 1498. Specialized real arrays not pretty-printed correctly 1510. Signature matching bug makes "casts" possible 1556. signal race condition 1559. non-empty string matches regular expression only in a non-empty way 1576. buggy Real.!= SML/NJ Library -------------- o Added Word versions of hash tables (WordHashTable), finite maps (WordRedBlackMap), and sets (WordRedBlackSet). o fixed bug in Format module (infinity caused infinite loop). o added anchored paths in CM files for NEW_CM. o added implementation of LWORD in Format module. o Fixed bug in dfa-engine.sml (bug number 1559). o Added setFn to PList.newProp return type. o Added sameHolder function to PropList module. o Fixed a bug in the filter/filteri hash table functions: the number of items in the table was not being recomputed. o Added modify and modifyi iterators to hash tables. o Added anchorLink style to HTMLDev structure in PP/devices. o Added IntHashTable structure to Util library; this structure is a specialization of hash tables to integer keys. o Added default cases to avoid "match not exhaustive" warnings. o Added GraphSCCFn functor to Util library, which implements a strongly-connected components algorithm on directed graphs (written by Matthias Blume). CML --- o Fixed some bugs in the withNack implementation. o Modified RunCML.doit to install a dummy print hook. eXene ----- o Updated the examples directory so that all of the example programs will compile. Platforms: ---------- We have built and tested (with the regression suites) this version on the following platforms: x86-linux (Red Hat 5.1, Linux 2.0.35; Red Hat 6.1-2, Red Hat 7.0) x86-win32 (Windows NT 4.0, Windows 2000) x86-freeBSD (FreeBSD 3.2 - built but not tested) sparc-solaris (UltraSparc II, Solaris 2.5.1) alpha32-dunix (Digital Unix 4.0) hppa-hpux (HPUX 10.20) mipseb-irix6 (R10000, IRIX 6.5) The system should build on rs6000-aix, but we no longer have access to an rs6000-aix machine for testing. Any volunteers? This version will not run on more recent PowerPC-based RS6000 machines, but current working versions of SML/NJ will run under powerpc-aix.