这个例子可重写为如下：fun fac 0 = 1这个函数还依赖于，这是ML语言的重要部份。注意函数形式参数不必须在圆括号内但要用空格分隔。当一个函数的实际参数是codice_11，它将返回整数codice_12。对于所有其他情况，尝试第二行。这是一个递归，并且再次执行这个函数直到达到基础情况。这个递归函数的实现不保证能够终止，因为负数实际参数会导致递归调用的无限降链条件。更健壮的实现会在递归前检查实际参数为非负数，如下这样：fun fact n = let有问题的情况（在n是负数的时候）展示了M