Saw your code, couldn't believe how awesome it was, and made an effort to make it shorter just for kicks. (Warning though, I'm pretty new to Haskell.) Did a bit of "cheating" here and there, since the purpose is for it to be as concise as possible, and got it to 50 characters. I'm sure someone can get it lower :P
f=filter
q[]=[]
q(h:t)= q(f(<=h)t)++[h]++q(f(>h)t