@@ -19,9 +19,9 @@ main = asText <| fac 1000000000000
19Trampolining allows for long-running tail-recursive loops to be run without pushing calls onto the stack:
19Trampolining allows for long-running tail-recursive loops to be run without pushing calls onto the stack:
21facT : Int -> Int -> Trampoline Int
21facT : Int -> Int -> Trampoline Int
22−facT n acc = Trampoline <| if n <= 0
22+facT n acc = if n <= 0
23− then Left acc
23+ then Done acc
24− else Right <| \() -> facT (n - 1) (n * acc)
24+ else Continue <| \() -> facT (n - 1) (n * acc)
25fac : Int -> Int
25fac : Int -> Int
26fac n = trampoline <| facT n 0
26fac n = trampoline <| facT n 0