adamc@954: fun one () = return 1 adamc@954: adamc@954: fun addEm n = adamc@954: if n = 0 then adamc@954: return 0 adamc@954: else adamc@954: n1 <- rpc (one ()); adamc@954: n2 <- addEm (n - 1); adamc@954: return (n1 + n2) adamc@954: adamc@956: fun addEm' n acc = adamc@956: if n = 0 then adamc@956: return acc adamc@956: else adamc@956: n1 <- rpc (one ()); adamc@956: addEm' (n - 1) (n1 + acc) adamc@956: adamc@954: fun main () = adamc@954: s <- source 0; adamc@956: s' <- source 0; adamc@956: return adamc@954: adamc@956: adamc@954: