This project is mirrored from https://github.com/ekmett/exceptions.
Pull mirroring updated .
- Feb 11, 2018
-
-
Michael Snoyman authored
-
Michael Snoyman authored
The behavior is identical to before, but since I'm about to use these instances in the docs, I wanted to raise less confusing questions to readers about implementation.
-
- Jan 28, 2018
-
-
* Demonstrate broken ExceptT instance for MonadMask * Simplify generalBracket so it works for ExceptT The previous type signature was in fact invalid, as it did not allow for a valid instance for ExceptT (et al). In particular, in the case of a non-exceptional Left result, neither the release nor cleanup functions could be used, since: * No result value was available for release * No SomeException value was available for cleanup It appears that this less pleasing version of generalBracket is the only one that works for all the types we care about. Furthermore: once we accept this, we are now forced to perform some discarding of updated state and Monoid written values in the StateT, WriterT, and RWST instances. This seems inherent to making things compatible with ExceptT. An alternative to this is to simply remove the ExceptT and ErrorT instances, but that's contrary to what many users want it seems. * Doc cleanups @RyanGIScott's review
-
- Jan 16, 2018
-
-
Fix compilation with GHC 8.4.1. Tested with GHC 8.4.1-alpha1.
-
- Jan 12, 2018
-
-
Ryan Scott authored
-
- Jan 11, 2018
-
-
Ryan Scott authored
-
Ryan Scott authored
-
- Nov 22, 2017
-
-
Ryan Scott authored
-
- Jun 29, 2017
-
-
Edward Kmett authored
Add generalBracket to MonadMask
-
Michael Snoyman authored
-
- Jun 16, 2017
-
-
Michael Snoyman authored
I just realized that the function could be more general, and thereby more explicit in its intent, but allowing the non-exceptional release function to return a different type than the inner function.
-
- Jun 15, 2017
-
-
Ryan Scott authored
-
- Jun 13, 2017
-
-
Michael Snoyman authored
-
- Jun 12, 2017
-
-
Michael Snoyman authored
-
- Jun 06, 2017
-
-
Michael Snoyman authored
-
Michael Snoyman authored
For motivation, see: https://www.fpcomplete.com/blog/2017/02/monadmask-vs-monadbracket
-
- Apr 11, 2017
-
-
Ryan Scott authored
-
- Dec 12, 2016
-
-
Ryan Scott authored
-
- Nov 30, 2016
-
-
Ryan Scott authored
-
- Jul 20, 2016
-
-
Came up in a discussion with @bitonic. There's no downside I can see to the MonadCatch instance. However, the MonadMask instance is a little bit more controversial, in that it's not actually doing any masking. However, it's impossible to know that it's not masking the async exceptions since there are no side-effects from the Either monad. Of course, by using unsafePerformIO, we could observe the difference, but I think that's a valid trade-off. One final argument against MonadMask for Either: it's probably not terribly useful.
- Jul 17, 2016
-
-
Ryan Scott authored
-
Ryan Scott authored
-
- Jan 16, 2016
-
-
Edward Kmett authored
Bump dependency on transformers-compat to < 0.6
-
Edward Kmett authored
fix documentation typo
-
Edward Kmett authored
Bump QuickCheck upper bound
-
Edward Kmett authored
Bump template-haskell version bound for GHC 8
-
Adam Sapek authored
- Jan 15, 2016
-
-
glguy authored
Tests pass against the new version of TH, we can probably just edit the .cabal file on hackage rather than creating a new release.
-
Edward Kmett authored
-
Edward Kmett authored
Transformers5
-
- Jan 13, 2016
-
-
Adam Sapek authored
-
Adam Sapek authored
-
- Nov 23, 2015
-
-
Edward Kmett authored
canonical-AMP-warning avoidance
-
- Nov 22, 2015
-
-
Herbert Valerio Riedel authored
-
- Sep 23, 2015
-
-
Oleg Grenrus authored
-
- Aug 09, 2015
-
-
Edward Kmett authored
-
Edward Kmett authored
-