quick sort

List comprehensionsがサポートされたのでクイックソートを書いてみる。

def sort (l : list [int]) {
    |  => 
    | x::xs => sort($[y | y in xs, y < x]) + [x] + sort ($[y | y in xs, y > x]) 
}

def lst = [9, 1, 2, 8, 3, 7, 4, 6, 5, 0];
System.Console.WriteLine (sort (lst));

Haskell版とほとんど一緒ですね。ただ、個人的にはList comprehensionsの$が好みじゃないです。