Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a Control.Exception.Checked.{Lifted,Unlift} module #3

Open
shajra opened this issue Nov 13, 2018 · 0 comments
Open

Implement a Control.Exception.Checked.{Lifted,Unlift} module #3

shajra opened this issue Nov 13, 2018 · 0 comments

Comments

@shajra
Copy link
Owner

shajra commented Nov 13, 2018

I'm kind of eager to use Checked with monad transformers, and not just a raw IO.

monad-control doesn't have a great user experience (the boilerplate to create MonadBaseControl and MonadTransControl instances, for example), but it does solve a problem with monad transformers; we want to be able to unstack the transformer stack to get to the base, run a function, and then stack everything back again.

And as a second step, maybe make another module for unliftio. That way I'm not forcing people to chose between MonadBase and MonadIO.

But maybe this is all a low priority because the exceptions approach of Monad{Catch,Throw,Mask} can go far enough.

@shajra shajra changed the title Implement a Control.Exception.Checked.Lifted module Implement a Control.Exception.Checked.{Lifted,Unlift} module Nov 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant