Maintainer | bastiaan.heeren@ou.nl |
---|---|
Stability | provisional |
Portability | portable (depends on ghc) |
Safe Haskell | Safe |
Language | Haskell98 |
Type classes and instances.
- class Apply t where
- applyAll :: t a -> a -> [a]
- apply :: Apply t => t a -> a -> Maybe a
- applicable :: Apply t => t a -> a -> Bool
- applyD :: Apply t => t a -> a -> a
- applyM :: (Apply t, Monad m) => t a -> a -> m a
- applyList :: Apply t => [t a] -> a -> Maybe a
- class Container f where
- singleton :: a -> f a
- getSingleton :: f a -> Maybe a
- class Arrow arr => BiArrow arr where
- class BiFunctor f where
- mapBoth :: BiFunctor f => (a -> b) -> f a a -> f b b
- class Fix a where
- fix :: (a -> a) -> a
- class Buggy a where
- class Minor a where
Type class Apply
A type class for functors that can be applied to a value. Transformation, Rule, and Strategy are all instances of this type class.
applicable :: Apply t => t a -> a -> Bool Source
Checks whether the functor is applicable (at least one result)
applyM :: (Apply t, Monad m) => t a -> a -> m a Source
Same as apply, except that the result (at most one) is returned in some monad
Type class Container
class Container f where Source
Instances should satisfy the following law: getSingleton . singleton == Just
getSingleton :: f a -> Maybe a Source
Type class BiArrow
class Arrow arr => BiArrow arr where Source
Type class for bi-directional arrows. -
should be used instead of
arr
from the arrow interface. Minimal complete definition: -
.
Type class BiFunctor
Type class Fix
Nothing