implementation module test import StdEnv foreign export fac fac :: !Int -> Int fac 0 = 1 fac n = n * fac (n-1) cMain :: !*World -> *(!Int, !*World) cMain _ = code { ccall cmain ":I:A" } Start w = cMain w