Lazy ML

From Wikipedia, the free encyclopedia
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[edit]

Hello, world:

   "hello world\n"

Factorial,

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

External links[edit]