1. Lazy ML. A lazy, purely functional variant of ML designed by Thomas Johnson and Lennart Augustsson at the Chalmers University of Technology, Gothenburg, Sweden in 1984. LML is implemented on the G-machine, and was used to implement the first Haskell B compiler. There is a compiler (lmlc) and interpreter. 2. Logical ML. Adds to Lazy ML a data type of "theories" whose objects represent logic programs.