capability
capability copied to clipboard
Extensional capabilities and deriving combinators
The current definitions of `listen` and `pass` are: ```haskell instance (Monoid w, HasState tag w m) => HasWriter tag w (WriterLog m) where writer_ tag (a, w) = yield_ tag...
Is there any official benchmark comparing Capability with other libraries, for example, mtl? If there's none, is there any plan to provide one?
**Describe the bug** Sometimes an enclosing call to 'local' for a particular Reader capability causes the accumulated value for a (conceptually unrelated) Writer capability to be reset. This only seems...
Attempting to apply the `Lift` strategy on `Stream (Of a)` to access an underlying `MonadState` produces a type error in a coercion. In the example to derive `HasSource`, the same...
The methods of the capability type-classes (e.g. `put_` from `HasState`) are not meant to be used directly, currently this is documented in their haddocks. With the separation of user facing...
Should we add a `HasMask` capability to complement `HasThrow`, and `HasCatch`, similar to [`MonadMask`](http://hackage.haskell.org/package/exceptions-0.10.0/docs/Control-Monad-Catch.html#t:MonadMask)? If so, what would the meaning of the tag be? Should it only select a layer...
Deriving tagged instances requires the `PolyKinds` or `TypeInType` extension to be enabled. E.g. the following code ``` newtype MyState a = MyState (State Int a) deriving (Functor, Applicative, Monad) deriving...
E.g. in the following code ``` class Monad m => Logger m where logStr :: String -> m () newtype TheLoggerReader m a = TheLoggerReader (m a) deriving (Functor, Applicative,...
Hi, apologies, this is neither a feature request nor a bug report. But a question that I did not know where else to ask. Is there a way to derive...