You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently have ApplicativeError and MonadError, but as I argue in this blogpost it has some limitations that I think we can and should overcome. I'd be happy to lead the charge on this if no one else steps up and I'd be even more happy to get some help on naming things :)
The text was updated successfully, but these errors were encountered:
I think this as a transformation between MonadError and Monad, so we might not need to have Monad in the name. With that consideration, the first name that comes to my head is ErrorHandling
I like it! Though I think people might get confused when MonadError defines handleError and ErrorHandling does not. Maybe a different verb, ErrorControl?
I love ErrorControl.
As for the encoding, I am curious if the inclusion of instances of MonadError and Monad is necessary since the core laws don't need them, right? Having them might be more convenient at use site, but if the usage is mainly at a middle layer then maybe not? I have any practical experience to evaluate that though.
The laws did need them at some point, but I've revised them a lot so it might be that they no longer do. 😄 I think we need atleast ApplicativeError to get raiseError and formulate the laws, though then we no longer get the ensure counterpart assure. The G[_] part currently only uses pure after removing a discarded law, so that should work :)
We currently have
ApplicativeError
andMonadError
, but as I argue in this blogpost it has some limitations that I think we can and should overcome. I'd be happy to lead the charge on this if no one else steps up and I'd be even more happy to get some help on naming things :)The text was updated successfully, but these errors were encountered: