Mutual recursion: Difference between revisions
Content added Content deleted
(x86) |
(Forth) |
||
Line 212: | Line 212: | ||
lists:map(fun(X) -> io:format("~w ", [m(X)]) end, lists:seq(0,19)), |
lists:map(fun(X) -> io:format("~w ", [m(X)]) end, lists:seq(0,19)), |
||
io:format("~n", []).</lang> |
io:format("~n", []).</lang> |
||
=={{header|Forth}}== |
|||
Forward references required for mutual recursion may be set up using DEFER. |
|||
<lang forth> |
|||
defer m |
|||
: f ( n -- n ) |
|||
dup 0= if 1+ exit then |
|||
dup 1- recurse m - ; |
|||
:noname ( n -- n ) |
|||
dup 0= if exit then |
|||
dup 1- recurse f - ; |
|||
is m |
|||
: test ( xt n -- ) cr 0 do i over execute . loop drop ; |
|||
' m 20 test \ 0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 10 11 11 12 |
|||
' f 20 test \ 1 1 2 2 3 3 4 5 5 6 6 7 8 8 9 9 10 11 11 12 |
|||
</lang> |
|||
=={{header|Fortran}}== |
=={{header|Fortran}}== |