verve-lang
verve-lang copied to clipboard
Add support for mutually recursive declarations
enum Nat {
Z
S(Nat)
}
fn even(x: Nat) -> Bool {
match x {
case Z: True
case S(y): odd(y)
}
}
fn odd(x: Nat) -> Bool {
match x {
case Z: False
case S(y): even(y)
}
}