12249108aSCharles.ForsythLists: module 22249108aSCharles.Forsyth{ 33593ee73SCharles.Forsyth PATH: con "/dis/lib/lists.dis"; 42249108aSCharles.Forsyth map: fn[T](f: ref fn(x: T): T, l: list of T): list of T; 52249108aSCharles.Forsyth allsat: fn[T](p: ref fn(x: T): int, l: list of T): int; 62249108aSCharles.Forsyth anysat: fn[T](p: ref fn(x: T): int, l: list of T): int; 72249108aSCharles.Forsyth filter: fn[T](p: ref fn(x: T): int, l: list of T): list of T; 82249108aSCharles.Forsyth partition: fn[T](p: ref fn(x: T): int, l: list of T): (list of T, list of T); 92249108aSCharles.Forsyth 102249108aSCharles.Forsyth append: fn[T](l: list of T, x: T): list of T; 112249108aSCharles.Forsyth concat: fn[T](l: list of T, l2: list of T): list of T; 122249108aSCharles.Forsyth combine: fn[T](l: list of T, l2: list of T): list of T; 132249108aSCharles.Forsyth reverse: fn[T](l: list of T): list of T; 142249108aSCharles.Forsyth last: fn[T](l: list of T): T; 15*09fa9b42Sforsyth find: fn[T](x: T, l: list of T): list of T 16*09fa9b42Sforsyth for { T => eq: fn(a, b: T): int; }; 172249108aSCharles.Forsyth delete: fn[T](x: T, l: list of T): list of T 182249108aSCharles.Forsyth for { T => eq: fn(a, b: T): int; }; 192249108aSCharles.Forsyth pair: fn[T1, T2](l1: list of T1, l2: list of T2): list of (T1, T2); 202249108aSCharles.Forsyth unpair: fn[T1, T2](l: list of (T1, T2)): (list of T1, list of T2); 212249108aSCharles.Forsyth ismember: fn[T](x: T, l: list of T): int 222249108aSCharles.Forsyth for { T => eq: fn(a, b: T): int; }; 232249108aSCharles.Forsyth}; 242249108aSCharles.Forsyth 252249108aSCharles.Forsyth#sort? 262249108aSCharles.Forsyth#join 272249108aSCharles.Forsyth#split 28