2011/3/27 Ertugrul Soeylemez
<es@ertes.de>
You can write proper Haskell programs
without ever knowing, what a thunk is or how lazy evaluation is
/implemented/.
While this is probably true, in my case learning about thunks was a major step in understanding haskell.
Coming from an imperative perspective, I always had the habit of matching langage constructs with how that would be done in assembly.
It felt like I would never be able to move forward with understanding haskell as long as I didn't understand (at least in a fuzzy way) how it works at the lower levels.
Also knowing about thunks probably help understand strictness, space leaks issues and so on, which tend to be necessary to write proper Haskell programs.
David.