Showing the changes to module (1 of 10 files). Show all
Unified · Split
| @@ -0,0 +1,24 @@ | |||
| 1 | Lists: module | ||
| 2 | { | ||
| 3 | map: fn[T](f: ref fn(x: T): T, l: list of T): list of T; | ||
| 4 | allsat: fn[T](p: ref fn(x: T): int, l: list of T): int; | ||
| 5 | anysat: fn[T](p: ref fn(x: T): int, l: list of T): int; | ||
| 6 | filter: fn[T](p: ref fn(x: T): int, l: list of T): list of T; | ||
| 7 | partition: fn[T](p: ref fn(x: T): int, l: list of T): (list of T, list of T); | ||
| 8 | |||
| 9 | append: fn[T](l: list of T, x: T): list of T; | ||
| 10 | concat: fn[T](l: list of T, l2: list of T): list of T; | ||
| 11 | combine: fn[T](l: list of T, l2: list of T): list of T; | ||
| 12 | reverse: fn[T](l: list of T): list of T; | ||
| 13 | last: fn[T](l: list of T): T; | ||
| 14 | delete: fn[T](x: T, l: list of T): list of T | ||
| 15 | for { T => eq: fn(a, b: T): int; }; | ||
| 16 | pair: fn[T1, T2](l1: list of T1, l2: list of T2): list of (T1, T2); | ||
| 17 | unpair: fn[T1, T2](l: list of (T1, T2)): (list of T1, list of T2); | ||
| 18 | ismember: fn[T](x: T, l: list of T): int | ||
| 19 | for { T => eq: fn(a, b: T): int; }; | ||
| 20 | }; | ||
| 21 | |||
| 22 | #sort? | ||
| 23 | #join | ||
| 24 | #split | ||