lprepend - insert elements in front of a list : '''lprepend''' ''listVar e ?e ..?'' This is not a command included in Tcl. It is useful for implementing [stacks and queues]. [lunshift] implements the same functionality, but only for one element. See also: [lpop], [lshift] and [Chart of existing list functionality]. ---- ** Implementation ** ====== proc lprepend {listVar args} { upvar 1 $listVar l lappend l; # bring l to live. set l [K* [concat $args $l] [set l {}]] } ====== [LV] you reference a function called K* - where is that implemented? [aricb] I believe that's the "[K%|%generalized K combinator%|%]": proc K* {arg args} {set arg} [LEG]: Yes, it is the generalized Kombinator and sorry: here comes the "pure Tcl" implementation of lprepend: ====== proc lprepend {listVar args} { upvar 1 $listVar l lappend l; # bring l to live. set l [concat $args $l[set l {}]] } ====== ---- !!!!!! %| [Category Command] |% !!!!!!