changeset 25980 | fa26b76d3e7e |
parent 25943 | d431d65346a1 |
child 26079 | a58cc0cf4176 |
25979:3297781f8141 | 25980:fa26b76d3e7e |
---|---|
108 val zip_options: 'a list -> 'b option list -> ('a * 'b) list |
108 val zip_options: 'a list -> 'b option list -> ('a * 'b) list |
109 val ~~ : 'a list * 'b list -> ('a * 'b) list |
109 val ~~ : 'a list * 'b list -> ('a * 'b) list |
110 val map_split: ('a -> 'b * 'c) -> 'a list -> 'b list * 'c list |
110 val map_split: ('a -> 'b * 'c) -> 'a list -> 'b list * 'c list |
111 val split_list: ('a * 'b) list -> 'a list * 'b list |
111 val split_list: ('a * 'b) list -> 'a list * 'b list |
112 val separate: 'a -> 'a list -> 'a list |
112 val separate: 'a -> 'a list -> 'a list |
113 val surround: 'a -> 'a list -> 'a list |
|
113 val replicate: int -> 'a -> 'a list |
114 val replicate: int -> 'a -> 'a list |
114 val is_prefix: ('a * 'a -> bool) -> 'a list -> 'a list -> bool |
115 val is_prefix: ('a * 'a -> bool) -> 'a list -> 'a list -> bool |
115 val take_prefix: ('a -> bool) -> 'a list -> 'a list * 'a list |
116 val take_prefix: ('a -> bool) -> 'a list -> 'a list * 'a list |
116 val chop_prefix: ('a * 'b -> bool) -> 'a list * 'b list -> 'a list * ('a list * 'b list) |
117 val chop_prefix: ('a * 'b -> bool) -> 'a list * 'b list -> 'a list * ('a list * 'b list) |
117 val take_suffix: ('a -> bool) -> 'a list -> 'a list * 'a list |
118 val take_suffix: ('a -> bool) -> 'a list -> 'a list * 'a list |
533 |
534 |
534 (*separate s [x1, x2, ..., xn] ===> [x1, s, x2, s, ..., s, xn]*) |
535 (*separate s [x1, x2, ..., xn] ===> [x1, s, x2, s, ..., s, xn]*) |
535 fun separate s (x :: (xs as _ :: _)) = x :: s :: separate s xs |
536 fun separate s (x :: (xs as _ :: _)) = x :: s :: separate s xs |
536 | separate _ xs = xs; |
537 | separate _ xs = xs; |
537 |
538 |
539 fun surround s (x :: xs) = s :: x :: surround s xs |
|
540 | surround s [] = [s]; |
|
541 |
|
538 (*make the list [x, x, ..., x] of length n*) |
542 (*make the list [x, x, ..., x] of length n*) |
539 fun replicate (n: int) x = |
543 fun replicate (n: int) x = |
540 let fun rep (0, xs) = xs |
544 let fun rep (0, xs) = xs |
541 | rep (n, xs) = rep (n - 1, x :: xs) |
545 | rep (n, xs) = rep (n - 1, x :: xs) |
542 in |
546 in |