diff options
-rw-r--r-- | sucl/basic.dcl | 3 | ||||
-rw-r--r-- | sucl/basic.icl | 5 |
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) |