to slice :lst :start :finish local "res make "res [] for "i [:start :finish 1] [ make "j item :i :lst make "res se :res :j ] op :res end to setitem :n :lst :val local "lhs local "rhs make "lhs slice :lst 1 :n-1 make "rhs slice :lst :n+1 count :lst op (se :lhs :val :rhs) end to swap :i :j :a local "t make "t item :i :a make "a setitem :i :a item :j :a make "a setitem :j :a :t op :a end to shuffle :a for "i [count :a 2] [ make "a swap 1 + random :i :i :a ] op :a end make "a ( list 1 2 3 4 5 6 7 8 9 10 ) make "a shuffle :a show :a