Lazy ML

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by David Eppstein (talk | contribs) at 05:22, 1 June 2016 (Unprod — this has hundreds of citations on Google scholar, and because of that I think a clear case for WP:GNG). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Lazy ML (LML) is a functional programming language developed in the early 1980s by Lennart Augustsson and Thomas Johnsson at Chalmers University of Technology, prior to Miranda and Haskell. LML is a strongly typed, statically scoped implementation of ML, with lazy evaluation.

The key innovation of LML was to demonstrate how to compile a lazy functional language. Until then, lazy languages had been implemented via interpreted graph reduction. LML compiled to G-machine code.

LML is also notable as the language in which HBC, the Haskell B Compiler, was implemented.

Example programs

Hello, world:

    "hello world\n"

Factorial:

    let rec fact 0 = 1  ||
            fact n = n*fact(n-1)

External links