aboutsummaryrefslogtreecommitdiff
path: root/examples/sml/main.sml
diff options
context:
space:
mode:
authorRyan Kavanagh <rak@debian.org>2018-09-13 16:29:29 -0400
committerRyan Kavanagh <rak@debian.org>2018-09-13 17:14:23 -0400
commitac1fe7d7abba32ef0c83ca1a22092bab9de5f171 (patch)
treeb49c343d9f135205bb5ca40db678dcadefcfbd80 /examples/sml/main.sml
parentrun.sh should not extract autograde.tar (diff)
SML example importHEADmaster
Diffstat (limited to '')
-rw-r--r--examples/sml/main.sml25
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