# [Haskell-cafe] Reference for technique wanted

Richard O'Keefe ok at cs.otago.ac.nz
Sun Oct 31 18:51:41 EDT 2010

There's a long-known technique in functional languages
where
[x1,...,xn]	=> \tail -> x1:...xn:tail
xs ++ ys	=> f . g
xs		=> f []

A correspondent mentioned to me that he couldn't find a reference
to the idea (which I gather he had independently rediscovered).
I know I've read about it somewhere.  Can anyone provide a reference?