Tell me more ×  In the chapter about function in the Oz
tutorial, it says that:  similar to lazy functional languages Oz
allows certain forms of tail-recursion optimizations that are
not found in certain strict functional languages including
Standard ML, Scheme, and the concurrent functional language
Erlang. However, standard function definitions in Oz are not
lazy.  It then goes on to show the following function which is
tail-recursive in Oz:  fun {Map Xs F}    case Xs    of nil then
nil    [] X|Xr then {F X}|{Map Xr F}  What this does is, it maps
the empty list to the empty list and non-empty list, to the
result of applying the function F to its head and then
prepending that to the result of calling Map on the tail. In
other languages this would not be tail recursive, because the
last operation is the prepend, not the recursive call to Map.
So my question is: If "standard function definitions in Oz are
not lazy", what does Oz do that languages like Scheme or Erlang
can't (or won't?) to be able to perform t