latest contify.fun

Stephen Weeks MLton@sourcelight.com
Thu, 22 Feb 2001 10:49:35 -0800 (PST)


One other thing I noticed when reading contify is the definition of partition.
Here is a faster one.
 
fun partition (l, p) =
   List.fold
   (l, {no = [], yes = []}, fn (x, {no, yes}) =>
    if p x
       then {no = no, yes = x :: yes}
    else {no = x :: no, yes = yes})

If order matters, then add a rev before calling it. 

I'm adding this to list.sig and list.sml (it used to be there, but got deleted
during some reorg).