USING: kernel locals math sequences sequences.private ; IN: sorting.insertion = [ 2drop ] [ n 1 - n [ seq set-nth-unsafe ] bi-curry@ bi* seq quot n 1 - insert ] if ] unless ; inline recursive PRIVATE> : insertion-sort ( ... seq quot: ( ... elt -- ... elt' ) -- ... ) ! quot is a transformation on elements over length [ insert ] 2with 1 -rot (each-integer) ; inline