Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
Around (forall a. instr a -> (m (), a -> m ())) |
Applicative m => Monoid (Around m instr) Source |
mapProgramT :: Monad m => (forall b. instr1 b -> instr2 b) -> ProgramT instr1 m a -> ProgramT instr2 m a Source
hoistProgramT :: (Monad m, Monad n) => (forall a. m a -> n a) -> ProgramT instr m a -> ProgramT instr n a Source
interpretWithMonadT :: forall instr m b. Monad m => (forall a. instr a -> m a) -> ProgramT instr m b -> m b Source
interpretAroundMonadT :: forall instr m b. Monad m => Around m instr -> (forall a. instr a -> m a) -> ProgramT instr m b -> m b Source