equal
deleted
inserted
replaced
219 |
219 |
220 (* trace input *) |
220 (* trace input *) |
221 |
221 |
222 fun trace scan xs = |
222 fun trace scan xs = |
223 let val (y, xs') = scan xs |
223 let val (y, xs') = scan xs |
224 in ((y, (uncurry take) (length xs - length xs', xs)), xs') end; |
224 in ((y, take (length xs - length xs') xs), xs') end; |
225 |
225 |
226 |
226 |
227 (* stopper *) |
227 (* stopper *) |
228 |
228 |
229 datatype 'a stopper = Stopper of ('a list -> 'a) * ('a -> bool); |
229 datatype 'a stopper = Stopper of ('a list -> 'a) * ('a -> bool); |