-- quick sort
sort
:: Ord a
=> [a
] -> [a
]sort [] = []
sort (h:t) = sort [a | a <- t, a <= h] ++ [h] ++ sort [b | b <- t, b > h]
main
= print (sort
[7,2,4,9,1,5,4,8])
LS0gcXVpY2sgc29ydApzb3J0IDo6IE9yZCBhID0+IFthXSAtPiBbYV0Kc29ydCBbXSA9IFtdIApzb3J0IChoOnQpID0gc29ydCBbYSB8IGEgPC0gdCwgYSA8PSBoXSArKyBbaF0gKysgc29ydCBbYiB8IGIgPC0gdCwgYiA+IGhdCgptYWluIDo6IElPICgpCm1haW4gPSBwcmludCAoc29ydCBbNywyLDQsOSwxLDUsNCw4XSkKCg==