equal
deleted
inserted
replaced
89 val single: 'a -> 'a list |
89 val single: 'a -> 'a list |
90 val append: 'a list -> 'a list -> 'a list |
90 val append: 'a list -> 'a list -> 'a list |
91 val apply: ('a -> 'a) list -> 'a -> 'a |
91 val apply: ('a -> 'a) list -> 'a -> 'a |
92 val fold: ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b |
92 val fold: ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b |
93 val fold_rev: ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b |
93 val fold_rev: ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b |
94 val fold_yield: ('a -> 'b -> 'c * 'b) -> 'a list -> 'b -> 'c list * 'b |
94 val fold_map: ('a -> 'b -> 'c * 'b) -> 'a list -> 'b -> 'c list * 'b |
95 val foldl_map: ('a * 'b -> 'a * 'c) -> 'a * 'b list -> 'a * 'c list |
95 val foldl_map: ('a * 'b -> 'a * 'c) -> 'a * 'b list -> 'a * 'c list |
96 val foldr1: ('a * 'a -> 'a) -> 'a list -> 'a |
96 val foldr1: ('a * 'a -> 'a) -> 'a list -> 'a |
97 val foldln: ('a * int -> 'b -> 'b) -> 'a list -> 'b -> 'b |
97 val foldln: ('a * int -> 'b -> 'b) -> 'a list -> 'b -> 'b |
98 val unflat: 'a list list -> 'b list -> 'b list list |
98 val unflat: 'a list list -> 'b list -> 'b list list |
99 val splitAt: int * 'a list -> 'a list * 'a list |
99 val splitAt: int * 'a list -> 'a list * 'a list |
477 let |
477 let |
478 fun fold_aux [] y = y |
478 fun fold_aux [] y = y |
479 | fold_aux (x :: xs) y = f x (fold_aux xs y); |
479 | fold_aux (x :: xs) y = f x (fold_aux xs y); |
480 in fold_aux end; |
480 in fold_aux end; |
481 |
481 |
482 fun fold_yield f = |
482 fun fold_map f = |
483 let |
483 let |
484 fun fold_aux [] y = ([], y) |
484 fun fold_aux [] y = ([], y) |
485 | fold_aux (x :: xs) y = |
485 | fold_aux (x :: xs) y = |
486 let |
486 let |
487 val (x', y') = f x y; |
487 val (x', y') = f x y; |