括号内但要用空格分隔。当一个函数的实际参数是codice_11，它将返回整数codice_12。对于所有其他情况，尝试第二行。这是一个递归，并且再次执行这个函数直到达到基础情况。这个递归函数的实现不保证能够终止，因为负数实际参数会导致递归调用的无限降链条件。更健壮的实现会在递归前检查实际参数为非负数，如下这样：fun fact n = let有问题的情况（在n是负数的时候）展示了ML的异常系统的使用。这个函数通过将它的内部循环写为尾递归风格而进一步改进，使得调用栈不需要与函数调用的数目成比例的增