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.
["Logic Programming within a Functional Framework", A. Brogi et al, in Programming Language Implementation and Logic Programming, P. Deransart et al eds, LNCS 456, Springer 1990].