aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sucl/basic.dcl3
-rw-r--r--sucl/basic.icl5
2 files changed, 8 insertions, 0 deletions
diff --git a/sucl/basic.dcl b/sucl/basic.dcl
index 0f2118f..27c170d 100644
--- a/sucl/basic.dcl
+++ b/sucl/basic.dcl
@@ -176,5 +176,8 @@ showtriple :: !.(.a -> .String) !.(.b -> .String) !.(.c -> .String) !(.a,.b,.c)
// `Split sep' splits a list into a list of sublists which are separated by `sep'.
split :: a -> .(.[a] -> [.[a]]) | == a
+// `Stub modulename functionname message' aborts with a explanatory message
+stub :: .String .String .String -> a
+
// `Superset xs ys' determines whether ys is a superset (actually, super-multi-set or super-list) of xs.
superset :: .[a] -> .(.[a] -> Bool) | == a
diff --git a/sucl/basic.icl b/sucl/basic.icl
index a8bfcdf..0953741 100644
--- a/sucl/basic.icl
+++ b/sucl/basic.icl
@@ -255,5 +255,10 @@ split sep
= ([x:ys],yss)
where (ys,yss) = spl xs
+// `Stub modulename functionname message' aborts with a explanatory message
+stub :: .String .String .String -> a
+stub modulename functionname message
+= abort (modulename+++": "+++functionname+++": "+++message)
+
superset :: .[a] -> .(.[a] -> Bool) | == a
superset set = isEmpty o (removeMembers set)