Maintainer | bastiaan.heeren@ou.nl |
---|---|
Stability | provisional |
Portability | portable (depends on ghc) |
Safe Haskell | Safe |
Language | Haskell98 |
Type classes and instances.
Synopsis
- class Apply t where
- 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
- 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
- class BoolValue a where
- class BoolValue a => Boolean a where
- ands :: Boolean a => [a] -> a
- ors :: Boolean a => [a] -> a
- implies :: Boolean a => a -> a -> a
- equivalent :: Boolean a => 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.
Instances
Apply RewriteRule Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule applyAll :: RewriteRule a -> a -> [a] Source # | |
Apply Rule Source # | |
Defined in Ideas.Common.Rule.Abstract | |
Apply Dynamic Source # | |
Defined in Ideas.Common.Strategy.StrategyTree | |
Apply Leaf Source # | |
Defined in Ideas.Common.Strategy.StrategyTree | |
Apply LabeledStrategy Source # | |
Defined in Ideas.Common.Strategy.Abstract applyAll :: LabeledStrategy a -> a -> [a] Source # | |
Apply Strategy Source # | |
Defined in Ideas.Common.Strategy.Abstract | |
Apply Exercise Source # | |
Defined in Ideas.Common.Exercise |
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
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: -
.
Instances
BiArrow Isomorphism Source # | |
Defined in Ideas.Common.View (<->) :: (a -> b) -> (b -> a) -> Isomorphism a b Source # (!->) :: (a -> b) -> Isomorphism a b Source # (<-!) :: (b -> a) -> Isomorphism a b Source # | |
BiArrow View Source # | |
Type class BiFunctor
class BiFunctor f where Source #
biMap :: (a -> c) -> (b -> d) -> f a b -> f c d Source #
Instances
BiFunctor Either Source # | |
BiFunctor (,) Source # | |
BiFunctor CyclicTree Source # | |
Defined in Ideas.Common.Strategy.CyclicTree biMap :: (a -> c) -> (b -> d) -> CyclicTree a b -> CyclicTree c d Source # mapFirst :: (a -> b) -> CyclicTree a c -> CyclicTree b c Source # mapSecond :: (b -> c) -> CyclicTree a b -> CyclicTree a c Source # | |
BiFunctor Derivation Source # | |
Defined in Ideas.Common.Derivation biMap :: (a -> c) -> (b -> d) -> Derivation a b -> Derivation c d Source # mapFirst :: (a -> b) -> Derivation a c -> Derivation b c Source # mapSecond :: (b -> c) -> Derivation a b -> Derivation a c Source # | |
BiFunctor DerivationTree Source # | |
Defined in Ideas.Common.DerivationTree biMap :: (a -> c) -> (b -> d) -> DerivationTree a b -> DerivationTree c d Source # mapFirst :: (a -> b) -> DerivationTree a c -> DerivationTree b c Source # mapSecond :: (b -> c) -> DerivationTree a b -> DerivationTree a c Source # |
Type class Fix
Instances
Fix (Process a) Source # | |
Fix (Strategy a) Source # | |
Fix (CyclicTree a b) Source # | |
Defined in Ideas.Common.Strategy.CyclicTree fix :: (CyclicTree a b -> CyclicTree a b) -> CyclicTree a b Source # |
Boolean Algebra
equivalent :: Boolean a => a -> a -> a Source #