3 ms·
Mutual recursion. Horrible example, don’t use this: even 0 = true even n = not (odd n-1) odd 0 = false odd n = not (even n-1)
by Jtsummers 3y ago
Mutual recursion. Horrible example, don’t use this:
even 0 = true
even n = not (odd n-1)
odd 0 = false
odd n = not (even n-1)
- bewaretheirs 3y agoThat should be even 0 = true even n = odd n-1 odd 0 = false odd n = even n-1 I fed a C version of this (with unsigned n to keep the nasal daemons at bay) to clang and observed that it somehow manages to see through the mutual recursion, generating code that doesn't recurse or loop.
- Jtsummers 3y agoYou are correct, I don't know why I put the nots in there. Either way, demonstrates mutual recursion.