Modulepolysemy-1.9.2.0Haskell2010
Polysemy.Tagged
- 1 type
- 4 values
- Packagepolysemy-1.9.2.0
- Exports5
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceTagged.hs
Effect
1 declarationActions
2 declarationsTag uses of an effect, effectively gaining access to the tagged effect locally.
This may be used to create tagged- variants of regular actions.
For example:
taggedLocal :: forall k i r a
. Member (Tagged k (Reader i)) r
=> (i -> i)
-> Sem r a
-> Sem r a
taggedLocal f m =
tag @k @(Reader i) $ local @i f (raise m)
A reinterpreting version of tag.
Interpretations
2 declarationsRun a Tagged k e effect through reinterpreting it to e