4.3BSD/usr/contrib/icon/book/10/shuffle1.icn
procedure shuffle(s) local i i := *s while i >= 2 do { s[?i] :=: s[i] i -:= 1 } return s end