Lazy ML

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

This article is issued from Wikipedia - version of the Saturday, July 18, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.