Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
This whole module is just a tiresome workaround for the lack of impredicative polymorphism. If GHC adds impredicative polymorphism, we can drop it entirely and simplify the rest of the code by removing unnecessary task unwrapping.
Documentation
newtype GTask c k v a Source #
GTask is a generalised Task wrapped in a newtype. It is generalised in the
sense that it computes a value of type a
given a fetch of type k -> f v
.
Monad (GTask Monad k v) Source # | |
Monad (GTask MonadPlus k v) Source # | |
Functor (GTask Monad k v) Source # | |
Functor (GTask Functor k v) Source # | |
Functor (GTask Applicative k v) Source # | |
Functor (GTask Alternative k v) Source # | |
Functor (GTask MonadPlus k v) Source # | |
Applicative (GTask Monad k v) Source # | |
Applicative (GTask Applicative k v) Source # | |
Applicative (GTask Alternative k v) Source # | |
Applicative (GTask MonadPlus k v) Source # | |
Alternative (GTask Alternative k v) Source # | |
Alternative (GTask MonadPlus k v) Source # | |
MonadPlus (GTask MonadPlus k v) Source # | |