在中,它说:
类似于懒惰的函数语言,Oz允许某些形式的尾递归优化,这些优化在某些严格的函数语言中是找不到的,包括标准ML、Scheme和并发函数语言Erlang。但是,Oz中的标准函数定义并不懒惰。
然后继续显示以下函数,该函数在中是尾递归的
fun {Map Xs F}
case Xs
of nil then nil
[] X|Xr then {F X}|{Map Xr F}
end
end
这样做的是,它将空列表映射到空列表和非空列表,映射到将函数F应用到其头部的结果,然后将其先于尾部调用Map的结果。在其他语言中,这将不是尾递归,因为最后一个操作是前面