## MLton 20241230+git20251029+dfsg-5

# 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.