I have a very basic Haskell understanding, where I still struggle to understand Monads. I read through every slide and I the only thing that I understood, is that Haskell programs can be made faster by forcing strict evaluation and value unpackign. But I have to admit that I still do not understand how this works under the hood and it makes me sad. As well it seems as if lazy-by-default is actually an obstacle for fast programs.
Can someone enlighten me?