This is not at all lazy evaluation. That's something completely independent. (And the other two comments giving that answer are clueless, alas.)

In Haskell, this pattern usually occurs together with combinators. But combinators don't require that you mimic some other shape of computation. (I would perhaps call that mimicking some form of 'punning'.)