From 2249108ae3e3c5d02e45007e195672e350517856 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Sat, 17 Feb 2007 17:53:48 +0000 Subject: fix issue 9, add preliminary lists module --- module/lists.m | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 module/lists.m (limited to 'module/lists.m') diff --git a/module/lists.m b/module/lists.m new file mode 100644 index 00000000..242c9bf6 --- /dev/null +++ b/module/lists.m @@ -0,0 +1,24 @@ +Lists: module +{ + map: fn[T](f: ref fn(x: T): T, l: list of T): list of T; + allsat: fn[T](p: ref fn(x: T): int, l: list of T): int; + anysat: fn[T](p: ref fn(x: T): int, l: list of T): int; + filter: fn[T](p: ref fn(x: T): int, l: list of T): list of T; + partition: fn[T](p: ref fn(x: T): int, l: list of T): (list of T, list of T); + + append: fn[T](l: list of T, x: T): list of T; + concat: fn[T](l: list of T, l2: list of T): list of T; + combine: fn[T](l: list of T, l2: list of T): list of T; + reverse: fn[T](l: list of T): list of T; + last: fn[T](l: list of T): T; + delete: fn[T](x: T, l: list of T): list of T + for { T => eq: fn(a, b: T): int; }; + pair: fn[T1, T2](l1: list of T1, l2: list of T2): list of (T1, T2); + unpair: fn[T1, T2](l: list of (T1, T2)): (list of T1, list of T2); + ismember: fn[T](x: T, l: list of T): int + for { T => eq: fn(a, b: T): int; }; +}; + +#sort? +#join +#split -- cgit v1.2.3