local fun main _ = let fun quit () = OS.Process.exit OS.Process.success fun one [] = "ok" | one ["m"] = Bool.toString (CMB.make ()) | one ["m", f] = Bool.toString (CMB.make' (SOME f)) | one ["d"] = Bool.toString (CMB.deliver ()) | one ["d", f] = Bool.toString (CMB.deliver' (SOME f)) | one ["r"] = (CMB.reset (); "reset") | one ["?", v] = getOpt (Option.map Int.toString (#get (CMB.symval v) ()), "not set") | one ["=", v] = (#set (CMB.symval v) NONE; "done") | one ["=", v, n] = (case Int.fromString n of x as SOME _ => (#set (CMB.symval v) x; "done") | NONE => "bad number syntax") | one ["q"] = quit () | one _ = "invalid command" fun loop () = case TextIO.inputLine TextIO.stdIn of "" => quit () | line => (TextIO.output (TextIO.stdOut, one (String.tokens Char.isSpace line) ^ "\n"); loop ()) in SMLofNJ.Internals.resetTimers (); Compiler.Stats.reset (); loop () handle exn => (TextIO.output (TextIO.stdOut, General.exnMessage exn ^ "\n"); quit ()) end in val _ = SMLofNJ.exportFn ("batchcomp", main) end
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: nMessage exn ^ "\n"); quit ()) end in val _ = SMLofNJ.exportFn ("batchcomp", main) end