tomo/test/corecursive_func.tm

16 lines
277 B
Tcl

func ping(x:Int->[Text]):
if x > 0:
return ["ping: $x"] ++ pong(x-1)
else:
return ["ping: $x"]
func pong(x:Int->[Text]):
if x > 0:
return ["pong: $x"] ++ ping(x-1)
else:
return ["pong: $x"]
func main():
>> ping(3)
= ["ping: 3", "pong: 2", "ping: 1", "pong: 0"]