I've posted to the Racket blog: http://blog.racket-lang.org/2012/08/fully-inlined-merge-sort.html
It shows how to use continuation-passing style in expansion-phase functions to fully inline a merge sort. The expanded code doesn't create any intermediate lists. Or a result list, for that matter.
Neil ⊥ ____________________ Racket Users list: http://lists.racket-lang.org/users