hat-2.7.0.12: The Haskell tracer, generating and viewing Haskell execution traces

Safe HaskellNone
LanguageHaskell98

Hat.Control.Monad

Documentation

class Functor f where Source

Methods

gfmap :: RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun (f a) (f b))) Source

sfmap :: R (Fun (Fun a b) (Fun (f a) (f b))) Source

Instances

class Monad m where Source

Minimal complete definition

(!>>=), greturn, (|>>=), (|>>), sreturn, sfail

Methods

(!>>=) :: RefSrcPos -> RefExp -> R (Fun (m a) (Fun (Fun a (m b)) (m b))) Source

(!>>) :: RefSrcPos -> RefExp -> R (Fun (m a) (Fun (m b) (m b))) Source

greturn :: RefSrcPos -> RefExp -> R (Fun a (m a)) Source

gfail :: RefSrcPos -> RefExp -> R (Fun String (m a)) Source

(|>>=) :: R (Fun (m a) (Fun (Fun a (m b)) (m b))) Source

(|>>) :: R (Fun (m a) (Fun (m b) (m b))) Source

sreturn :: R (Fun a (m a)) Source

sfail :: R (Fun String (m a)) Source

Instances

class Monad m => MonadPlus m where Source

Methods

gmzero :: RefSrcPos -> RefExp -> R (m a) Source

gmplus :: RefSrcPos -> RefExp -> R (Fun (m a) (Fun (m a) (m a))) Source

smzero :: R (m a) Source

smplus :: R (Fun (m a) (Fun (m a) (m a))) Source

gmapM :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (List a) (m (List b)))) Source

hmapM :: Monad m => R (Fun a (m b)) -> R (List a) -> RefExp -> R (m (List b)) Source

gmapM_ :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (List a) (m Tuple0))) Source

hmapM_ :: Monad m => R (Fun a (m b)) -> R (List a) -> RefExp -> R (m Tuple0) Source

gforM :: Monad m => RefSrcPos -> RefExp -> R (Fun (List a) (Fun (Fun a (m b)) (m (List b)))) Source

gforM_ :: Monad m => RefSrcPos -> RefExp -> R (Fun (List a) (Fun (Fun a (m b)) (m Tuple0))) Source

gsequence :: Monad m => RefSrcPos -> RefExp -> R (Fun (List (m a)) (m (List a))) Source

gsequence_ :: Monad m => RefSrcPos -> RefExp -> R (Fun (List (m a)) (m Tuple0)) Source

(!=<<) :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (m a) (m b))) Source

(*=<<) :: Monad m => R (Fun a (m b)) -> R (m a) -> RefExp -> R (m b) Source

(!>=>) :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (Fun b (m c)) (Fun a (m c)))) Source

(*>=>) :: Monad m => R (Fun a (m b)) -> R (Fun b (m c)) -> RefExp -> R (Fun a (m c)) Source

(!<=<) :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun b (m c)) (Fun (Fun a (m b)) (Fun a (m c)))) Source

gforever :: Monad m => RefSrcPos -> RefExp -> R (Fun (m a) (m b)) Source

hforever :: Monad m => R (m a) -> RefExp -> R (m b) Source

gvoid :: Functor f => RefSrcPos -> RefExp -> R (Fun (f a) (f Tuple0)) Source

gjoin :: Monad m => RefSrcPos -> RefExp -> R (Fun (m (m a)) (m a)) Source

hjoin :: Monad m => R (m (m a)) -> RefExp -> R (m a) Source

gmsum :: MonadPlus m => RefSrcPos -> RefExp -> R (Fun (List (m a)) (m a)) Source

hmsum :: MonadPlus m => R (List (m a)) -> RefExp -> R (m a) Source

gfilterM :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (m Bool)) (Fun (List a) (m (List a)))) Source

hfilterM :: Monad m => R (Fun a (m Bool)) -> R (List a) -> RefExp -> R (m (List a)) Source

gmapAndUnzipM :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (m (Tuple2 b c))) (Fun (List a) (m (Tuple2 (List b) (List c))))) Source

hmapAndUnzipM :: Monad m => R (Fun a (m (Tuple2 b c))) -> R (List a) -> RefExp -> R (m (Tuple2 (List b) (List c))) Source

gzipWithM :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (m c))) (Fun (List a) (Fun (List b) (m (List c))))) Source

hzipWithM :: Monad m => R (Fun a (Fun b (m c))) -> R (List a) -> R (List b) -> RefExp -> R (m (List c)) Source

gzipWithM_ :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (m c))) (Fun (List a) (Fun (List b) (m Tuple0)))) Source

hzipWithM_ :: Monad m => R (Fun a (Fun b (m c))) -> R (List a) -> R (List b) -> RefExp -> R (m Tuple0) Source

gfoldM :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (m a))) (Fun a (Fun (List b) (m a)))) Source

hfoldM :: Monad m => R (Fun a (Fun b (m a))) -> R a -> R (List b) -> RefExp -> R (m a) Source

gfoldM_ :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (m a))) (Fun a (Fun (List b) (m Tuple0)))) Source

hfoldM_ :: Monad m => R (Fun a (Fun b (m a))) -> R a -> R (List b) -> RefExp -> R (m Tuple0) Source

greplicateM :: Monad m => RefSrcPos -> RefExp -> R (Fun Int (Fun (m a) (m (List a)))) Source

hreplicateM :: Monad m => R Int -> R (m a) -> RefExp -> R (m (List a)) Source

greplicateM_ :: Monad m => RefSrcPos -> RefExp -> R (Fun Int (Fun (m a) (m Tuple0))) Source

hreplicateM_ :: Monad m => R Int -> R (m a) -> RefExp -> R (m Tuple0) Source

gwhen :: Monad m => RefSrcPos -> RefExp -> R (Fun Bool (Fun (m Tuple0) (m Tuple0))) Source

hwhen :: Monad m => R Bool -> R (m Tuple0) -> RefExp -> R (m Tuple0) Source

hunless :: Monad m => R Bool -> R (m Tuple0) -> RefExp -> R (m Tuple0) Source

gliftM :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun (m a) (m b))) Source

hliftM :: Monad m => R (Fun a b) -> RefExp -> R (Fun (m a) (m b)) Source

gliftM2 :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b c)) (Fun (m a) (Fun (m b) (m c)))) Source

hliftM2 :: Monad m => R (Fun a (Fun b c)) -> RefExp -> R (Fun (m a) (Fun (m b) (m c))) Source

gliftM3 :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (Fun c d))) (Fun (m a) (Fun (m b) (Fun (m c) (m d))))) Source

hliftM3 :: Monad m => R (Fun a (Fun b (Fun c d))) -> RefExp -> R (Fun (m a) (Fun (m b) (Fun (m c) (m d)))) Source

gliftM4 :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (Fun c (Fun d e)))) (Fun (m a) (Fun (m b) (Fun (m c) (Fun (m d) (m e)))))) Source

hliftM4 :: Monad m => R (Fun a (Fun b (Fun c (Fun d e)))) -> RefExp -> R (Fun (m a) (Fun (m b) (Fun (m c) (Fun (m d) (m e))))) Source

gliftM5 :: Monad m => RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (Fun c (Fun d (Fun e f))))) (Fun (m a) (Fun (m b) (Fun (m c) (Fun (m d) (Fun (m e) (m f))))))) Source

hliftM5 :: Monad m => R (Fun a (Fun b (Fun c (Fun d (Fun e f))))) -> RefExp -> R (Fun (m a) (Fun (m b) (Fun (m c) (Fun (m d) (Fun (m e) (m f)))))) Source

gap :: Monad m => RefSrcPos -> RefExp -> R (Fun (m (Fun a b)) (Fun (m a) (m b))) Source