git @ Cat's Eye Technologies Bhuna / master eg / mtr.bhu
master

Tree @master (Download .tar.gz)

mtr.bhu @masterraw · history · blame

// mutual tail recursion.

// dummy function to get decls/type checking OK

F = ^ A { return A }

G = ^ A, B {
  if A > 0 {
    Print "In G, A = ", A, " and B = ", B, EoL
    return F(A-1)
  } else {
    Print "End of G", EoL
    return 0
  }
}

F = ^ A {
  if A > 0 {
    Print "In F, A = ", A, EoL
    return G(A-1, A+1)
  } else {
    Print "End of F", EoL
    return 0
  }
}

Print "F(100000)=", F(100000), EoL