BinderAnn-0.1.0.0: Source-to-source plugin for enhancing EDSLs with static annotations

Safe HaskellNone
LanguageHaskell2010

Data.Annotated.Generic.Safe

Synopsis

Documentation

type Annotated a = AnnotatedT Identity a Source #

An annotation monad parameterized by the type ann of the annotation to carry.

evalAnnotated :: forall a. Annotated a -> a Source #

newtype AnnotatedT m a Source #

Constructors

AnnotatedT 
Instances
MonadTrans AnnotatedT Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

lift :: Monad m => m a -> AnnotatedT m a #

MonadRWS r w s m => MonadRWS r w s (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

MonadWriter w m => MonadWriter w (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

writer :: (a, w) -> AnnotatedT m a #

tell :: w -> AnnotatedT m () #

listen :: AnnotatedT m a -> AnnotatedT m (a, w) #

pass :: AnnotatedT m (a, w -> w) -> AnnotatedT m a #

MonadState s m => MonadState s (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

get :: AnnotatedT m s #

put :: s -> AnnotatedT m () #

state :: (s -> (a, s)) -> AnnotatedT m a #

MonadReader r m => MonadReader r (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

ask :: AnnotatedT m r #

local :: (r -> r) -> AnnotatedT m a -> AnnotatedT m a #

reader :: (r -> a) -> AnnotatedT m a #

MonadError e m => MonadError e (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

throwError :: e -> AnnotatedT m a #

catchError :: AnnotatedT m a -> (e -> AnnotatedT m a) -> AnnotatedT m a #

Monad m => Monad (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

(>>=) :: AnnotatedT m a -> (a -> AnnotatedT m b) -> AnnotatedT m b #

(>>) :: AnnotatedT m a -> AnnotatedT m b -> AnnotatedT m b #

return :: a -> AnnotatedT m a #

fail :: String -> AnnotatedT m a #

Functor m => Functor (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

fmap :: (a -> b) -> AnnotatedT m a -> AnnotatedT m b #

(<$) :: a -> AnnotatedT m b -> AnnotatedT m a #

MonadFix m => MonadFix (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

mfix :: (a -> AnnotatedT m a) -> AnnotatedT m a #

MonadFail m => MonadFail (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

fail :: String -> AnnotatedT m a #

Monad m => Applicative (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

pure :: a -> AnnotatedT m a #

(<*>) :: AnnotatedT m (a -> b) -> AnnotatedT m a -> AnnotatedT m b #

liftA2 :: (a -> b -> c) -> AnnotatedT m a -> AnnotatedT m b -> AnnotatedT m c #

(*>) :: AnnotatedT m a -> AnnotatedT m b -> AnnotatedT m b #

(<*) :: AnnotatedT m a -> AnnotatedT m b -> AnnotatedT m a #

Contravariant m => Contravariant (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

contramap :: (a -> b) -> AnnotatedT m b -> AnnotatedT m a #

(>$) :: b -> AnnotatedT m b -> AnnotatedT m a #

MonadIO m => MonadIO (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

liftIO :: IO a -> AnnotatedT m a #

MonadPlus m => Alternative (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

empty :: AnnotatedT m a #

(<|>) :: AnnotatedT m a -> AnnotatedT m a -> AnnotatedT m a #

some :: AnnotatedT m a -> AnnotatedT m [a] #

many :: AnnotatedT m a -> AnnotatedT m [a] #

MonadCont m => MonadCont (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

Methods

callCC :: ((a -> AnnotatedT m b) -> AnnotatedT m a) -> AnnotatedT m a #

MonadIO m => MonadAnnotated (AnnotatedT m) Source # 
Instance details

Defined in Data.Annotated.Generic.Safe

runAnnotatedT :: forall m a. AnnotatedT m a -> m (a, StableMap SrcInfo) Source #

evalAnnotatedT :: forall m a. Monad m => AnnotatedT m a -> m a Source #

execAnnotatedT :: forall m a. Monad m => AnnotatedT m a -> m (StableMap SrcInfo) Source #