fun quicksort(L)= let fun small(x,L)=List.filter (fn y=>(y<=x)) L fun big(x,L)=List.filter (fn y =>(y>x)) L in if L=nil then nil else quicksort(small(hd(L),tl(L)))@hd(L)::quicksort(big(hd(L),tl(L))) end;