diff options
Diffstat (limited to 'sucl')
-rw-r--r-- | sucl/basic.dcl | 3 | ||||
-rw-r--r-- | sucl/basic.icl | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sucl/basic.dcl b/sucl/basic.dcl index c51d57e..0d06233 100644 --- a/sucl/basic.dcl +++ b/sucl/basic.dcl @@ -184,3 +184,6 @@ 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 + +// zipwith zips up two lists with a joining function +zipwith :: (.a .b->.c) ![.a] [.b] -> [.c] diff --git a/sucl/basic.icl b/sucl/basic.icl index 270b13a..7319b67 100644 --- a/sucl/basic.icl +++ b/sucl/basic.icl @@ -265,3 +265,6 @@ stub modulename functionname message superset :: .[a] -> .(.[a] -> Bool) | == a superset set = isEmpty o (removeMembers set) + +zipwith :: (.a .b->.c) ![.a] [.b] -> [.c] +zipwith f xs ys = [f x y \\ x<-xs & y<-ys] |