equal
deleted
inserted
replaced
215 val random: unit -> real |
215 val random: unit -> real |
216 val random_range: int -> int -> int |
216 val random_range: int -> int -> int |
217 val one_of: 'a list -> 'a |
217 val one_of: 'a list -> 'a |
218 val frequency: (int * 'a) list -> 'a |
218 val frequency: (int * 'a) list -> 'a |
219 |
219 |
220 (*current directory*) |
|
221 val cd: string -> unit |
|
222 val pwd: unit -> string |
|
223 |
|
224 (*misc*) |
220 (*misc*) |
225 val divide_and_conquer: ('a -> 'a list * ('b list -> 'b)) -> 'a -> 'b |
221 val divide_and_conquer: ('a -> 'a list * ('b list -> 'b)) -> 'a -> 'b |
226 val partition_eq: ('a * 'a -> bool) -> 'a list -> 'a list list |
222 val partition_eq: ('a * 'a -> bool) -> 'a list -> 'a list list |
227 val partition_list: (int -> 'a -> bool) -> int -> int -> 'a list -> 'a list list |
223 val partition_list: (int -> 'a -> bool) -> int -> int -> 'a list -> 'a list list |
228 val gensym: string -> string |
224 val gensym: string -> string |
1016 if n <= k then x else pick (n - k) xs |
1012 if n <= k then x else pick (n - k) xs |
1017 in pick (random_range 1 sum) xs end; |
1013 in pick (random_range 1 sum) xs end; |
1018 |
1014 |
1019 |
1015 |
1020 |
1016 |
1021 (** current directory **) |
|
1022 |
|
1023 val cd = OS.FileSys.chDir; |
|
1024 val pwd = OS.FileSys.getDir; |
|
1025 |
|
1026 |
|
1027 |
|
1028 (** misc **) |
1017 (** misc **) |
1029 |
1018 |
1030 fun divide_and_conquer decomp x = |
1019 fun divide_and_conquer decomp x = |
1031 let val (ys, recomb) = decomp x |
1020 let val (ys, recomb) = decomp x |
1032 in recomb (map (divide_and_conquer decomp) ys) end; |
1021 in recomb (map (divide_and_conquer decomp) ys) end; |