aboutsummaryrefslogtreecommitdiff
path: root/skel/checks.sig
diff options
context:
space:
mode:
authorRyan Kavanagh <rak@debian.org>2018-09-13 13:09:35 -0400
committerRyan Kavanagh <rak@debian.org>2018-09-13 13:49:07 -0400
commit5e78c729407999bd26af4d446edf0edf7d0af94e (patch)
tree8e44695c03bd8974e4a9b0831272e845ffa940ad /skel/checks.sig
Import autograder from 15-317 f17
Diffstat (limited to '')
-rw-r--r--skel/checks.sig23
1 files changed, 23 insertions, 0 deletions
diff --git a/skel/checks.sig b/skel/checks.sig
new file mode 100644
index 0000000..6b0453c
--- /dev/null
+++ b/skel/checks.sig
@@ -0,0 +1,23 @@
+(* Copyright (C) 2017 Ryan Kavanagh <rkavanagh@cs.cmu.edu> *)
+(* Distributed under the ISC license, see COPYING for details. *)
+
+signature CHECKS =
+sig
+ (* checks are either: *)
+ (* Check (name, f): *)
+ (* f : checks some property, and can catastrophically abort *)
+ (* or raise some exception if something is not satisfied. *)
+ (* Useful for sanity checks like: do all desired files *)
+ (* exist? *)
+ (* Problem (name, f): *)
+ (* name : must be the same name as the autolab problem *)
+ (* that is being graded. *)
+ (* f : returns an integer, which is the score awarded for *)
+ (* problem "name". *)
+ datatype checks = Check of string * (unit -> unit)
+ | Problem of string * (unit -> real)
+
+ val checks : checks list
+
+ val scoreboard : (string * real) list -> int list option
+end