态类型，类型推论，，和异常处理。不同于Haskell，ML与大多数编程语言一样使用及早求值，也就是说所有的子表达式总是被求值，尽管可以通过使用闭包来完成惰性求值。因此可以像Haskell那样建立和使用无限串流，但是它们的表达是间接的。ML是由爱丁堡大学的Robin Milner及他人在二十世纪七十年代晚期开发的，它的语法是从ISWIM得到的灵感。ML是为了帮助在定理证明器中寻找证明策略而构想出来的，LCF的语言是“pplambda”，联合了一阶逻辑演算和有类型的多态的λ演算，拥有ML作为元语言。