effect-monad
effect-monad copied to clipboard
Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects.
It seems the latest changes have not been released to [hackage](https://hackage.haskell.org/package/effect-monad). Latest version there is 0.8.1.0 from 2018-01-24T16:19:35Z. There are 6 commits after that, notably the `fail` fix.
The paper states: > We use the Inv constraint family to force the target type of the left morphism to match the source type of the right morphism. So shouldn't...
Again, this is just a WIP PR so you can tell me whether this is heading in the right direction.
This is a work in progress so you can see how the code would turn out. Note that the associated type families `Plus`, `Unit`, `Inv` need to be moved to...
We could define `Kleisli` as: ```haskell newtype Kleisli m f a b = Kleisli { runKleisli :: a -> m f b } ``` It would be an instance of...
`Effect` should reflect the `Functor`-`Applicative`-`Monad` hierarchy. How about something like: ```haskell class EffectFunctor (m :: k -> * -> *) where fmap :: (a -> b) -> m f a...
Hi, I am having a hard time trying to figure out how to use the `Coreader` Coeffect. Specifically trying to get more than one `Var` in the same computation: ```haskell...
Provide an example on encoding `Control.Monad.Indexed`-style monad with `Control.Effect.Parameterised`. Bob Atkey's paper is really hard thing to start from.
Why does the compiler not accept inc2 in the example below? ``` haskell {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE FlexibleContexts #-} {-#...