Standard ML of New Jersey
Version 110.74 NEWS
January 20, 2012

SML/NJ HOME:
  `http://www.smlnj.org/index.html`
FILES:
  `http://smlnj.cs.uchicago.edu/dist/working/110.74/`

### Summary:

> SML/NJ 110.74 provides a number of new library features, including a new library for working with S-expressions, as well as many bug fixes.

> Changes to the type checker support a preliminary version of enhanced type error messages including "culprits" indicating the origins of conflicting type constructors. This functionality is not fully debugged printing of enhanced error messages needs further refinement, so the additional information is not printed by default.

### Details:

Compiler:
  - Added cuprit tracking (as described in "A simple and effective method for assigning blame for type errors" at the 2010 ML Workshop) to the type checker. Further debugging and more refined presentation of the cuprit info are needed, so this functionality is currently off by default. It is controled by the new flag Control.Elab.showTypeErrorCulprits (default false).
SML/NJ Library:
  - Added hash-table-based implementation of sets to the utility library. The new modules are signature HASH_SET and functor HashSetFn.
  - Added new S-expression library for I/O of semi-structured data (contributed by Damon Wang).
  - Fixed bug in JSON scanner.
Bugs:

  Here is a list of tracked bugs fixed by this release, please see the bug tracker for more details.

  60 | Incorrect type inference with functor taking/producing polymorphic type
  74 | Errors in ml-lpt manual
  76 | blastWrite crashes
  77 | strange error message for syntax error
  80 | Installation fails on Linux 3.0
  81 | sml/nj does not work with Linux 3.0
  83 | No support for Kernel 3.x