Ruby でワンライナーでクイックソート
と、いっても lambda で簡単に再帰するために Proc を拡張しているんですが。
[ソース]
class Proc def self_curry self.curry.call(self) end end p lambda { |f, seq| seq.empty? ? [] : seq[1..seq.size].partition { |a| a < seq.first }.map { |a| f.call(f, a) }.insert(1, seq.first).flatten }.self_curry.call((1..10).sort_by{rand})