All pastes #352947 Raw Edit

Mine

public text v1 · immutable
·published 2007-02-13 02:35 UTC
rendered paste body
fun merge(xs,[]) = xs
  | merge([],ys) = ys
  | merge(x::xs,y::ys) =
      if x < y then x::merge(xs,y::ys)
      	       else y::merge(x::xs,ys); 

fun msort([]) =	[]
  | msort([x]) = [x]
  | msort(lst) =
      let fun loop([],a,b) = merge(msort(a),msort(b))   
      	    | loop(x::xs,a,b) =	loop(xs,b,x::a)
       in loop(lst,[],[]) end;