After exploring “
lazy” keyword in F#, I was up for some disappointments:
<DISCLAIMER> Fast forward to the year 2012: people from Microsoft’s “try F#” team pointed out that I got some things wrong here, and they probably have a point. So, take whatever follows with a grain of salt. Also, take a look at the comments.</DISCLAIMER>
lazy (bla) cannot be transparently used in expressions instead of
* Results of lazy evaluation are not cached
* Parameters of lazy functions are evaluated eagerly
Let me explain each of these points.