(* -*- mode: sml -*- * $Id: sumcol.smlnj,v 1.3 2001/07/09 00:25:28 doug Exp $ * http://www.bagley.org/~doug/shootout/ *) structure Test : sig val main : (string * string list) -> OS.Process.status end = struct fun sumlines sum = if TextIO.endOfStream TextIO.stdIn then (print (Int.toString sum); print "\n") else case (Int.fromString (TextIO.inputLine TextIO.stdIn)) of NONE => sumlines sum | SOME i => sumlines (sum + i); fun main(name, args) = (sumlines 0; OS.Process.success); end val _ = SMLofNJ.exportFn("sumcol", Test.main);