(* Carsten Schuermann *) (* Programming with callcc in SML *) let fun mult (L : int list) : int = SMLofNJ.Cont.callcc (fn ret => let fun mult nil = 1 | mult (9 :: _) = SMLofNJ.Cont.throw ret 0 | mult (H :: T) = H * mult T in mult L end) in mult [1,2,9,2,3] end