RosettaCodeData/Task/Mutual-recursion/Miranda/mutual-recursion.miranda

12 lines
224 B
Plaintext

main :: [sys_message]
main = [Stdout ("F: " ++ show (map f [0..20]) ++ "\n"),
Stdout ("M: " ++ show (map m [0..20]) ++ "\n")]
f :: num->num
f 0 = 1
f n = n - m (f (n-1))
m :: num->num
m 0 = 0
m n = n - f (m (n-1))