Hacker News new | comments | show | ask | jobs | submit login

I use Haskell a lot. I can't recall ever having to have added IO to a deeply nested expression like this.

Why would it be done if it was hard? The path of least resistance in Haskell dictates not doing this, and carefully figuring out where you want IO up front. In contrast, in a language with side effects you just do it whenever you want and everything compiles as before, for better or worse.

PL design is like a box of tradeoffs.


log "Var x =" x

Nope, just use trace.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact