tomo/test/corecursive_func.tm

16 lines
270 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"]