|
|
|
|
|
by aninhumer
4273 days ago
|
|
>That Haskell provides it is an admission that strict R.T. is unworkable. Perhaps it is, but that doesn't mean it's not immensely valuable as a default. And it's worth noting that in the case of Debug.Trace, the actual program is still referentially transparent, it's just the debugging tools that break the rules, as they often do. >Haskell's laziness makes the order of execution highly counter-intuitive. Yes, there are some use cases where do-notion doesn't capture all the side effects (i.e. time/memory) and so a completely naive imperative perspective breaks down. But these cases are rare, and it's not that hard to learn to deal with them. |
|