Hacker News new | ask | show | jobs
by naasking 260 days ago
It needs to be an effect so the compiler knows how optimizations are permitted to handle it. Otherwise your print statements might appear in totally the wrong order or even not at all.

Imagine saying that certain memory stores are allowed to cross a memory barrier operation, you'd completely lose the ability to reason about concurrency around those stores.

1 comments

debugging must be a nightmare if you can't get a good mental model of how the compiler is transforming your code