☆ リスト内包表記を用いたベクタ配列のクイックソートの定義

: qsort { xs | x -- xs' }
    xs ::size 0=
    IF |[ ]||
    ELSE
        xs ::shift -> x
        [; ; xs , x > ;] recurse |[ x ]|| ::+
        [; ; xs , x <= ;] recurse ::+
    THEN
;

|[ 3 2 5 1 12 8 6 2 9 4 7 3 ]| qsort ::print

※ 12 9 8 7 6 5 4 3 3 2 2 1 とソートされる。