まあ、オブジェクト指向は置いといて、さすがにこういうのは↓
qSort :: [Int] -> [Int]
qSort [] = []
qSort (x:xs)
 = qSort [ y | y <- xs, y <= x ] ++ [x]
  ++ qSort [ y | y <-xs, y > x ]
書いた気にはならんだろうなと思う。
(だがそれがいい)