Chris Marusich <cmmarus...@gmail.com> writes: > I think I'm missing something here. In (list (f)), the call to f > certainly looks like it's happening at a position that one might > intuitively call a "tail" position.
It is, but list does not take multiple values and thus discards additional values returned by f. If list were a procedure/continuation accepting multiple values, this would likely work as you expected. -- David Kastrup