Skip to content
Tech News
← Back to articles

Poly/ML – A Standard ML Implementation

read original more articles

Poly/ML is a Standard ML implementation originally written in an experimental language called Poly. It has been fully compatible with the ML97 standard since version 4.0. For a full history, see here.

Poly/ML takes a conservative approach to the Standard ML language and avoids incompatible extensions. It has added various library extensions particularly the thread library. Poly/ML's active development and unique features make it an exceptional implementation.

Table of Contents

Features

Fast compiler

Preferred implementation for large projects such as Isabelle and HOL.

Foreign function interface - allows static and dynamic libraries to be loaded in Poly/ML and exposes their functions as Poly/ML functions. See here for an example of static linking.

Symbolic debugger

Windows programming interface

Thread library - provides a simplified version of Posix threads modified for Standard ML and allows Poly/ML programs to make use of multiple cores. The garbage collector is also parallelised.

... continue reading