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 =>
ArrowApply (a :: Type -> Type -> Type)ghc-internal GHC.Internal.Control.Arrow Some arrows allow application of arrow inputs to other inputs. Instances should satisfy the following laws:
first (arr (\x -> arr (\y -> (x,y)))) >>> app = id
first (arr (g >>>)) >>> app = second g >>> app
first (arr (>>> h)) >>> app = app >>> h
class Arrow a =>
ArrowChoice (a :: Type -> Type -> Type)ghc-internal GHC.Internal.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)ghc-internal GHC.Internal.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) bghc-internal GHC.Internal.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) bghc-internal GHC.Internal.Control.Arrow No documentation available.
class ArrowZero a =>
ArrowPlus (a :: Type -> Type -> Type)ghc-internal GHC.Internal.Control.Arrow A monoid on arrows.
class Arrow a =>
ArrowZero (a :: Type -> Type -> Type)ghc-internal GHC.Internal.Control.Arrow No documentation available.
-
graphviz Data.GraphViz.Attributes.Complete No documentation available.
ArrowHead :: ArrowType -> Attributegraphviz Data.GraphViz.Attributes.Complete Valid for: E; Default: normal
-
graphviz Data.GraphViz.Attributes.Complete What modifications to apply to an ArrowShape.