Lazy ML

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

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

<templatestyles src="Asbox/styles.css"></templatestyles>