Lists: module { PATH: con "/dis/lib/lists.dis"; 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; find: fn[T](x: T, l: list of T): list of T for { T => eq: fn(a, b: T): int; }; 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