MLton 20210117

# Release20100608

This is an archived public release of MLton, version 20100608.

## Changes since the last public release

- New platforms.

  - AMD64/Darwin (Mac OS X Snow Leopard)

  - IA64/HPUX

  - PowerPC64/AIX

- Compiler.

  - Command-line switches.

    - Added: -mlb-path-var <name> <value>

    - Removed: -keep sml, -stop sml

  - Improved constant folding of floating-point operations.

  - Experimental: Support for compiling to a C library; see documentation.

  - Extended -show-def-use output to include types of variable definitions.

  - Deprecated features (to be removed in a future release)

    - Bytecode codegen: The bytecode codegen has not seen significant use and it is not well understood by any of the active developers.

    - Support for .cm files as input: The ML Basis system provides much better infrastructure for "programming in the very large" than the (very) limited support for CM. The cm2mlb tool (available in the source distribution) can be used to convert CM projects to MLB projects, preserving the CM scoping of module identifiers.

  - Bug fixes: see changelog

- Runtime.

  - @MLton switches.

    - Added: may-page-heap {false|true}

  - may-page-heap: By default, MLton will not page the heap to disk when unable to grow the heap to accommodate an allocation. (Previously, this behavior was the default, with no means to disable, with security an least-surprise issues.)

  - Bug fixes: see changelog

- Language.

  - Allow numeric characters in ML Basis path variables.

- Libraries.

  - Basis Library.

    - Bug fixes: see changelog

  - MLton structure.

    - Added: MLton.equal, MLton.hash, MLton.Cont.isolate, MLton.GC.Statistics, MLton.Pointer.sizeofPointer, MLton.Socket.Address.toVector

    - Changed:

    - Deprecated: MLton.Socket

  - Unsafe structure.

    - Added versions of all of the monomorphic array and vector structures.

  - Other libraries.

    - Updated: ckit library, MLRISC library, SML/NJ library.

- Tools.

  - mllex

    - Eliminated top-level type int = Int.int in output.

    - Include (*#line line:col "file.lex" *) directives in output.

    - Added %posint command, to set the yypos type and allow the lexing of multi-gigabyte files.

  - mlnlffigen

    - Added command-line switches -linkage archive and -linkage shared.

    - Deprecated command-line switch -linkage static.

    - Added support for IA64 and HPPA targets.

  - mlyacc

    - Eliminated top-level type int = Int.int in output.

    - Include (*#line line:col "file.grm" *) directives in output.

For a complete list of changes and bug fixes since Release20070826, see the changelog and Bugs20070826.

## 20100608 binary packages

- AMD64 (aka "x86-64" or "x64")

  - Darwin (.tgz) 10.3 (Mac OS X Snow Leopard), dynamically linked against GMP in /opt/local/lib (suitable for MacPorts install of GMP)

  - Darwin (.tgz) 10.3 (Mac OS X Snow Leopard), statically linked against GMP (but requires GMP for generated executables)

  - Linux, glibc 2.11

  - Linux, statically linked

  - Windows MinGW 32/64 self-extracting (28MB) or MSI (61MB) installer

- X86

  - Cygwin 1.7.5

  - Darwin (.tgz) 9.8 (Mac OS X Leopard), dynamically linked against GMP in /opt/local/lib (suitable for MacPorts install of GMP)

  - Darwin (.tgz) 9.8 (Mac OS X Leopard), statically linked against GMP (but requires GMP for generated executables)

  - Linux, glibc 2.11

  - Linux, statically linked

  - Windows MinGW 32/64 self-extracting (28MB) or MSI (61MB) installer

## 20100608 source packages

- mlton-20100608.src.tgz

## Packages available at other sites

- Debian

- FreeBSD

- Fedora

- Ubuntu

## Also see

- Bugs20100608

- MLton Guide (20100608).

  A snapshot of the MLton wiki at the time of release.