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
- 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.

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: `-`

.

# Type class BiFunctor

# Type class Fix

# Boolean Algebra

equivalent :: Boolean a => a -> a -> a Source #