container-1.0.2: Containers abstraction and utilities.

Safe HaskellNone
LanguageHaskell2010

Data.Container.Immersed

Documentation

class ImmersedM l m a where Source

Methods

viewImmersedM' :: l -> m a Source

setImmersedM' :: a -> l -> m l Source

Instances

viewImmersedM :: (ImmersedM (Container l) m a, HasContainerM m l, Monad m) => l -> m a Source

setImmersedM :: (Monad m, HasContainerM m l, ImmersedM (Container l) m a) => a -> l -> m l Source

withImmersedM :: (Monad m, HasContainerM m l, ImmersedM (Container l) m t, ImmersedM (Container l) m a) => (t -> m a) -> l -> m l Source

withImmersedM' :: (Monad m, HasContainerM m l, ImmersedM (Container l) m a) => (a -> a) -> l -> m l Source

withDivedM :: (Monad m, LayeredM m a, HasContainerM m (Unlayered a)) => (Container (Unlayered a) -> m (Container (Unlayered a))) -> a -> m a Source