aboutsummaryrefslogtreecommitdiff
path: root/examples/tutch/main.sml
diff options
context:
space:
mode:
authorRyan Kavanagh <rak@debian.org>2018-09-13 13:18:07 -0400
committerRyan Kavanagh <rak@debian.org>2018-09-13 13:49:21 -0400
commit465fb70bdcb0acd7a13f8b06c821e9d7496e2603 (patch)
treeddb483f51474bf5d104806912a91a10bb10ca75d /examples/tutch/main.sml
parentImport autograder from 15-317 f17 (diff)
Imported tutch example
Diffstat (limited to '')
-rw-r--r--examples/tutch/main.sml25
1 files changed, 25 insertions, 0 deletions
diff --git a/examples/tutch/main.sml b/examples/tutch/main.sml
new file mode 100644
index 0000000..95e5bb5
--- /dev/null
+++ b/examples/tutch/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