☆ リスト内包表記を用いたベクタ配列のクイックソートの定義
: 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 とソートされる。