Changelog for cleff
Unreleased
Changed
- [BREAKING] Introduces an
OnException primitive for Mask that replaces Bracket and BracketOnError
(note that this only affects the effect datatype; there is still bracket and bracketOnError functions with the same semantics)
runError and mapError are slightly (but observably) faster now
Added
freshEnumToState for Fresh
onException and bracketOnError_ for Mask
0.2.1.0 (2022-02-13)
Added
- Lifted convenience instances of
Bounded, Num, Fractional, Floating and IsString for Eff
MonadZip instance from the MonadComprehensions extension for Eff
runFreshAtomicCounter for Fresh
inputToReader, mapInput and bindInput for Input
mapOutput and bindOutput for Output
runStateIORef, runStateMVar and runStateTVar for State
0.2.0.0 (2022-02-06)
Changed
- [BREAKING] Changed parameter order of
Handling class from e es esSend to esSend e es
- [BREAKING] Relaxed fundep of
Handling to esSend -> e es (HO combinators may require TypeApplication more often)
- Moved
Data.* modules to Cleff.Internal.* so as not to pollute common namespaces
Added
Trustworthy flags for non-internal modules
sendVia for sending an effect operation along a transformation between effect stacks
raiseUnder, raiseNUnder, raiseUnderN, raiseNUnderN for introducing effects under other effects in the effect stack
runWriterBatch as a more efficient Writer interpreter that writes listened values in batch instead of in real time
0.1.0.0 (2022-01-31)