PR #238 added instances of MonadThrow, MonadCatch, MonadMask to PQ. PR #290 used MonadCatch and MonadMask in order to define an api for safe transactions; letting transactions handle synchronous exceptions but masking asynchronous exceptions during the transaction. This PR pushes this change through Squeal, using the exceptions style of exception handling. Squeal still supports the monad-control and UnliftIO styles of asynchronous exception handling by having appropriate instances for PQ.
PR #238 added instances of
MonadThrow
,MonadCatch
,MonadMask
toPQ
. PR #290 usedMonadCatch
andMonadMask
in order to define an api for safe transactions; letting transactions handle synchronous exceptions but masking asynchronous exceptions during the transaction. This PR pushes this change through Squeal, using theexceptions
style of exception handling. Squeal still supports themonad-control
andUnliftIO
styles of asynchronous exception handling by having appropriate instances forPQ
.