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

Safe HaskellNone
LanguageHaskell98

Hat.Monad

Documentation

class Monad m => MonadPlus m where Source #

Minimal complete definition

gmzero, gmplus

Methods

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

smzero :: R (m a) Source #

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

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

Instances

MonadPlus List Source # 

Methods

gmzero :: RefSrcPos -> RefExp -> R (List a) Source #

smzero :: R (List a) Source #

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

smplus :: R (Fun (List a) (Fun (List a) (List a))) Source #

MonadPlus Maybe Source # 

Methods

gmzero :: RefSrcPos -> RefExp -> R (Maybe a) Source #

smzero :: R (Maybe a) Source #

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

smplus :: R (Fun (Maybe a) (Fun (Maybe a) (Maybe a))) 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 #

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 #

gap :: Monad m => RefSrcPos -> RefExp -> R (Fun (m (Fun a b)) (Fun (m a) (m b))) 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 #

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 #

class Monad m where Source #

Minimal complete definition

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

Methods

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

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

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

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

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

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

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

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

Instances

Monad List Source # 

Methods

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

(|>>=) :: R (Fun (List a) (Fun (Fun a (List b)) (List b))) Source #

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

(|>>) :: R (Fun (List a) (Fun (List b) (List b))) Source #

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

sreturn :: R (Fun a (List a)) Source #

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

sfail :: R (Fun String (List a)) Source #

Monad IO Source # 

Methods

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

(|>>=) :: R (Fun (IO a) (Fun (Fun a (IO b)) (IO b))) Source #

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

(|>>) :: R (Fun (IO a) (Fun (IO b) (IO b))) Source #

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

sreturn :: R (Fun a (IO a)) Source #

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

sfail :: R (Fun String (IO a)) Source #

Monad Maybe Source # 

Methods

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

(|>>=) :: R (Fun (Maybe a) (Fun (Fun a (Maybe b)) (Maybe b))) Source #

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

(|>>) :: R (Fun (Maybe a) (Fun (Maybe b) (Maybe b))) Source #

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

sreturn :: R (Fun a (Maybe a)) Source #

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

sfail :: R (Fun String (Maybe a)) Source #

class Functor f where Source #

Minimal complete definition

gfmap

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

Functor List Source # 

Methods

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

sfmap :: R (Fun (Fun a b) (Fun (List a) (List b))) Source #

Functor IO Source # 

Methods

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

sfmap :: R (Fun (Fun a b) (Fun (IO a) (IO b))) Source #

Functor Maybe Source # 

Methods

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

sfmap :: R (Fun (Fun a b) (Fun (Maybe a) (Maybe b))) Source #

Ix a => Functor (Array a) Source # 

Methods

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

sfmap :: R (Fun (Fun a b) (Fun (Array a a) (Array a b))) 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 #

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 #