
On Thu, 14 Sep 2006, Bertram Felgenhauer wrote:
Magnus Jonsson wrote:
Thanks Bertran for your solution. I have difficulty understanding it so I can't comment on it right now but I'll try to have a look at it. Do you know of any article that explains this technique, starting from very simple examples?
Not really. It's a result of thinking about lazy evaluation, and especially lazy patterns (and let bindings) for some time. A wiki article that helped me a lot to understand these is
http://www.haskell.org/hawiki/TyingTheKnot
I'd like to point out the trustList function there which uses the idea of encoding the structure of a term and its actual values in different arguments, i.e. a blueprint.
Maybe you could add a new item "Blueprints" to Haskell Idioms.