equal
deleted
inserted
replaced
30 val map: ('a -> 'b) -> 'a seq -> 'b seq |
30 val map: ('a -> 'b) -> 'a seq -> 'b seq |
31 val maps: ('a -> 'b seq) -> 'a seq -> 'b seq |
31 val maps: ('a -> 'b seq) -> 'a seq -> 'b seq |
32 val map_filter: ('a -> 'b option) -> 'a seq -> 'b seq |
32 val map_filter: ('a -> 'b option) -> 'a seq -> 'b seq |
33 val lift: ('a -> 'b -> 'c) -> 'a seq -> 'b -> 'c seq |
33 val lift: ('a -> 'b -> 'c) -> 'a seq -> 'b -> 'c seq |
34 val lifts: ('a -> 'b -> 'c seq) -> 'a seq -> 'b -> 'c seq |
34 val lifts: ('a -> 'b -> 'c seq) -> 'a seq -> 'b -> 'c seq |
|
35 val singleton: ('a list -> 'b list seq) -> 'a -> 'b seq |
35 val print: (int -> 'a -> unit) -> int -> 'a seq -> unit |
36 val print: (int -> 'a -> unit) -> int -> 'a seq -> unit |
36 val it_right : ('a * 'b seq -> 'b seq) -> 'a seq * 'b seq -> 'b seq |
37 val it_right : ('a * 'b seq -> 'b seq) -> 'a seq * 'b seq -> 'b seq |
37 val commute: 'a seq list -> 'a list seq |
38 val commute: 'a seq list -> 'a list seq |
38 val map_list: ('a -> 'b seq) -> 'a list -> 'b list seq |
39 val map_list: ('a -> 'b seq) -> 'a list -> 'b list seq |
39 val succeed: 'a -> 'a seq |
40 val succeed: 'a -> 'a seq |
160 fun map_filter f = maps (fn x => (case f x of NONE => empty | SOME y => single y)); |
161 fun map_filter f = maps (fn x => (case f x of NONE => empty | SOME y => single y)); |
161 |
162 |
162 fun lift f xq y = map (fn x => f x y) xq; |
163 fun lift f xq y = map (fn x => f x y) xq; |
163 fun lifts f xq y = maps (fn x => f x y) xq; |
164 fun lifts f xq y = maps (fn x => f x y) xq; |
164 |
165 |
|
166 fun singleton f x = f [x] |> map (fn [y] => y | _ => raise Empty); |
|
167 |
|
168 |
165 (*print a sequence, up to "count" elements*) |
169 (*print a sequence, up to "count" elements*) |
166 fun print print_elem count = |
170 fun print print_elem count = |
167 let |
171 let |
168 fun prnt k xq = |
172 fun prnt k xq = |
169 if k > count then () |
173 if k > count then () |