Mutual recursion: Difference between revisions

Content added Content deleted
(Add MAD)
(Added Quackery.)
Line 2,853: Line 2,853:


In python there is no need to pre-declare ''M'' for it to be used in the definition of ''F''. (However ''M'' must be defined before ''F'' calls it).
In python there is no need to pre-declare ''M'' for it to be used in the definition of ''F''. (However ''M'' must be defined before ''F'' calls it).

=={{header|Quackery}}==

<lang Quackery> forward is f ( n --> n )

[ dup 0 = if done
dup 1 - recurse f - ] is m ( n --> n )
[ dup 0 = iff 1+ done
dup 1 - recurse m - ]
resolves f ( n --> n )

say "f = "
20 times [ i^ f echo sp ] cr
say "m = "
20 times [ i^ m echo sp ] cr</lang>

{{out}}

<pre>f = 1 1 2 2 3 3 4 5 5 6 6 7 8 8 9 9 10 11 11 12
m = 0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 10 11 11 12 </pre>


=={{header|R}}==
=={{header|R}}==