# Things that you can't fathom people not understanding

**URL:** <https://boards.straightdope.com/t/things-that-you-cant-fathom-people-not-understanding/660360>\
**Category:** In My Humble Opinion\
**Created:** [June 7, 2013, 5:50am UTC](https://boards.straightdope.com/t/things-that-you-cant-fathom-people-not-understanding/660360 "2013-06-07T05:50:28Z")\
**Posts on this page:** 1\
**Page:** 19

<div class="post-metadata">

**Author:** ![Jragon](https://avatars.discourse-cdn.com/v4/letter/j/e19b73/32.png) [@Jragon](https://boards.straightdope.com/u/Jragon)\
**Post date:** [July 12, 2013, 1:05am UTC](https://boards.straightdope.com/t/things-that-you-cant-fathom-people-not-understanding/660360/361 "2013-07-12T01:05:47Z")

</div>

> [@Capt.Ridley\_s\_Shooting\_Party](#):
>
> More complex than that I’m afraid. foldl over lists in Haskell is tail recursive whilst foldr is not. Yet due to Haskell’s laziness you almost always want to use foldr, as foldl will only compute the final result of the fold when the end of the list is reached, either diverging in the case of infinite lists or building up a massive thunk as it traverses finite ones.

Ah, I forgot about Haskell’s lazy evaluation mucking stuff up. I’ve only done very basic work in Haskell for a class, so I’m not the most familiar with its intricacies. That makes sense, though.

[Previous page](https://boards.straightdope.com/t/things-that-you-cant-fathom-people-not-understanding/660360.md?page=18)
