函数可以重写为下列更高效但不易读的风格，以线性时间执行：fun reverse xs = letinend值得注意的是，这个函数是参数多态的一个例子。就是说它可以接受其元素有任何类型的列表，并返回相同类型的列表。
模块.模块是ML用于构造大型项目和库的系统。一个模块构成自一个签名（signature）文件和一个或多个结构文件。签名文件指定要实现的API（就像C语言头文件，或Java接口文件）。结构实现这个签名（就像C语言源文件或Java类文件）。例如，下列定义一个算术签名和