diff options
author | Ryan Kavanagh <rak@debian.org> | 2018-09-13 16:29:29 -0400 |
---|---|---|
committer | Ryan Kavanagh <rak@debian.org> | 2018-09-13 17:14:23 -0400 |
commit | ac1fe7d7abba32ef0c83ca1a22092bab9de5f171 (patch) | |
tree | b49c343d9f135205bb5ca40db678dcadefcfbd80 /examples/sml/main.sml | |
parent | run.sh should not extract autograde.tar (diff) |
Diffstat (limited to '')
-rw-r--r-- | examples/sml/main.sml | 25 |
1 files changed, 25 insertions, 0 deletions
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 <rkavanagh@cs.cmu.edu> *) +(* 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 |