Yes, sorry, I missed the firt line of the algorithm when I was pasting it into the email. Okay qSort [] = [x] -- and even qSort [x] = x The code fragment below still doesn't work. >>qSort (x:xs) = >> qSort smaller ++ [x] ++ qSort larger >> where >> smaller = [a | a . xs, a x ] >> larger = [b | b . xs, b > x ] Cheers Paul