graphted-0.3.1.0: Graph indexed monads.

Copyright(c) Aaron Friel
LicenseBSD-3
MaintainerAaron Friel <mayreply@aaronfriel.com>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Prelude.Graphted

Description

 

Documentation

fmap :: GFunctor f => (a -> b) -> f i a -> f (Fmap f i) b Source #

(<$) :: GFunctor f => b -> f i a -> f (Replace f i) b infixl 4 Source #

(<$>) :: GFunctor f => (a -> b) -> f i a -> f (Fmap f i) b Source #

pure :: GPointed f => a -> f (Pure f) a Source #

(<*>) :: (GApplicative f, ApplyInv f i j) => f i (a -> b) -> f j a -> f (Apply f i j) b infixl 4 Source #

(*>) :: (GApplicative f, ThenInv f i j) => f i a -> f j b -> f (Then f i j) b infixl 4 Source #

(<*) :: (GApplicative f, ButInv f i j) => f i a -> f j b -> f (But f i j) a infixl 4 Source #

return :: GPointed m => a -> m (Pure m) a Source #

(>>=) :: (GMonad m, BindInv m i j) => m i a -> (a -> m j b) -> m (Bind m i j) b infixl 1 Source #

(=<<) :: (GMonad m, BindInv m i j) => (a -> m j b) -> m i a -> m (Bind m i j) b infixr 1 Source #

(>>) :: (GApplicative m, ThenInv m i j) => m i a -> m j b -> m (Then m i j) b infixl 1 Source #

fail :: GMonadFail m => String -> m (Fail m) a Source #

zero :: GMonadZero m => m (Zero m) a Source #

(<+>) :: (GMonadPlus f, PlusInv f i j) => f i a -> f j a -> f (Plus f i j) a Source #

(<|>) :: (GMonadOr f, OrInv f i j) => f i a -> f j a -> f (Or f i j) a Source #

(<**>) :: (GApplicative f, _) => f i1 a -> f i2 (a -> b) -> f (Apply f (Apply f (Pure f) i1) i2) b infixl 4 Source #

liftA :: (GApplicative f, _) => (a -> b) -> f i1 a -> f (Apply f (Pure f) i1) b Source #

liftA2 :: (GApplicative f, _) => (a1 -> a2 -> b) -> f i1 a1 -> f i2 a2 -> f (LiftA2 f i1 i2) b Source #

liftA3 :: (GApplicative f, _) => (a1 -> a2 -> a3 -> b) -> f i1 a1 -> f i2 a2 -> f i3 a3 -> f (Apply f (LiftA2 f i1 i2) i3) b Source #

join :: (GMonad m, JoinInv m i j) => m i (m j b) -> m (Join m i j) b Source #

liftM :: (GApplicative m, _) => (t -> b) -> m j t -> m (Fmap m j) b Source #

liftM2 :: (GApplicative m, _) => (t1 -> t -> b) -> m i1 t1 -> m i t -> m (Apply m (Fmap m i1) i) b Source #

liftM3 :: (GApplicative m, _) => (t2 -> t1 -> t -> b) -> m i2 t2 -> m i1 t1 -> m i t -> m (Apply m (Apply m (Fmap m i2) i1) i) b Source #

liftM4 :: (GApplicative m, _) => (t3 -> t2 -> t1 -> t -> b) -> m i3 t3 -> m i2 t2 -> m i1 t1 -> m i t -> m (Apply m (Apply m (Apply m (Fmap m i3) i2) i1) i) b Source #

liftM5 :: (GApplicative m, _) => (t4 -> t3 -> t2 -> t1 -> t -> b) -> m i4 t4 -> m i3 t3 -> m i2 t2 -> m i1 t1 -> m i t -> m (Apply m (Apply m (Apply m (Apply m (Fmap m i4) i3) i2) i1) i) b Source #

ap :: (GApplicative m, _) => m i (t -> b) -> m j t -> m (Apply m (Fmap m i) j) b Source #

mapM_ :: (GApplicative m, Foldable t, Apply m (Fmap m i) (Pure m) ~ Pure m, _) => (a1 -> m i a) -> t a1 -> m (Pure m) () Source #

sequence_ :: (GApplicative m, Foldable t, Apply m (Fmap m i) (Pure m) ~ Pure m, _) => t (m i a) -> m (Pure m) () Source #