From ac1fe7d7abba32ef0c83ca1a22092bab9de5f171 Mon Sep 17 00:00:00 2001 From: Ryan Kavanagh Date: Thu, 13 Sep 2018 16:29:29 -0400 Subject: SML example import --- examples/sml/main.sml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 examples/sml/main.sml (limited to 'examples/sml/main.sml') diff --git a/examples/sml/main.sml b/examples/sml/main.sml new file mode 100644 index 0000000..95e5bb5 --- /dev/null +++ b/examples/sml/main.sml @@ -0,0 +1,25 @@ +(* Copyright (C) 2017 Ryan Kavanagh *) +(* Distributed under the ISC license, see COPYING for details. *) + +structure Main :> + sig + val main : (string * string list) -> OS.Process.status + end += +struct +structure H = Helper (structure C = struct val handinPath = "handin" end) +structure C = ChecksHelper(structure H = H) + +fun main _ = + let val scores = H.runChecks C.checks + val scoreboard = C.scoreboard scores + (* Make sure the scores are on the last line. *) + val _ = print "\n\n\n" + (* This below *must must must* be the last thing printed.. *) + val _ = H.printLn (H.scoresToString (scores, scoreboard)) + in OS.Process.success end + handle _ => (H.abortWithMessage o H.stringsInBox) + [ "Experienced uncaught exception!" + , "If you believe this to be in error, please contact your" + ^ " course staff." ] +end -- cgit v1.2.3