Hoogle Search
Within LTS Haskell 24.4 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
class Arrow a =>
ArrowChoice (a :: Type -> Type -> Type)base Control.Arrow Choice, for arrows that support it. This class underlies the if and case constructs in arrow notation. Instances should satisfy the following laws:
left (arr f) = arr (left f)
left (f >>> g) = left f >>> left g
f >>> arr Left = arr Left >>> left f
left f >>> arr (id +++ g) = arr (id +++ g) >>> left f
left (left f) >>> arr assocsum = arr assocsum >>> left f
assocsum (Left (Left x)) = Left x assocsum (Left (Right y)) = Right (Left y) assocsum (Right z) = Right (Right z)
The other combinators have sensible default definitions, which may be overridden for efficiency.class Arrow a =>
ArrowLoop (a :: Type -> Type -> Type)base Control.Arrow The loop operator expresses computations in which an output value is fed back as input, although the computation occurs only once. It underlies the rec value recursion construct in arrow notation. loop should satisfy the following laws:
- extension loop (arr f) = arr (\ b -> fst (fix (\ (c,d) -> f (b,d))))
- left tightening loop (first h >>> f) = h >>> loop f
- right tightening loop (f >>> first h) = loop f >>> h
- sliding loop (f >>> arr (id *** k)) = loop (arr (id *** k) >>> f)
- vanishing loop (loop f) = loop (arr unassoc >>> f >>> arr assoc)
- superposing second (loop f) = loop (arr assoc >>> second f >>> arr unassoc)
assoc ((a,b),c) = (a,(b,c)) unassoc (a,(b,c)) = ((a,b),c)
newtype
ArrowMonad (a :: Type -> Type -> Type) bbase Control.Arrow The ArrowApply class is equivalent to Monad: any monad gives rise to a Kleisli arrow, and any instance of ArrowApply defines a monad.
ArrowMonad :: a () b -> ArrowMonad (a :: Type -> Type -> Type) bbase Control.Arrow No documentation available.
class ArrowZero a =>
ArrowPlus (a :: Type -> Type -> Type)base Control.Arrow A monoid on arrows.
class Arrow a =>
ArrowZero (a :: Type -> Type -> Type)base Control.Arrow No documentation available.
-
template-haskell Language.Haskell.TH ->
-
template-haskell Language.Haskell.TH No documentation available.
-
template-haskell Language.Haskell.TH.LanguageExtensions No documentation available.
-
template-haskell Language.Haskell.TH.Syntax ->