RosettaCodeData/Task/Knuth-shuffle/Factor/knuth-shuffle.factor

5 lines
129 B
Factor

: randomize ( seq -- seq )
dup length [ dup 1 > ]
[ [ iota random ] [ 1 - ] bi [ pick exchange ] keep ]
while drop ;