The more I work with IO[A] in Scala, the more it makes sense to me that IO needs to propagate it's failure type in the type encoding, making it IO[E, A]. I want to know which failures may happen, I don't want it hidden from me.
I wrote Mitigation as a means of encoding all the possible exceptions as an intersection type in the signature. It worked, but I found it was more trouble than it was worth in practice.
-
-
I think the biggest problem was that in my primary usage, I handled all my exceptions in one place anyway, so I was carefully tracking and aggregating them, only to have them all ultimately handled in the same place...
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Why do you think it was more trouble than worth it? interested to hear.
-
There were a lot of type errors during maintenance when I introduced a new exception type into a computation. That ought to be a good thing, generally, but all those errors were handled in the same place, so the extra hard work fixing them was never actually useful...
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.