explicit-sharing-0.2: Explicit Sharing of Monadic Effects
Control.Monad.Sharing
module Control.Monad
class MonadPlus m => Nondet m a whereSource
Methods
mapNondet :: (forall b. Nondet m b => m b -> m (m b)) -> a -> m aSource
eval :: Nondet m a => a -> m aSource
class MonadPlus m => Sharing m whereSource
share :: Nondet m a => m a -> m (m a)Source
Instances
shareRec :: (Sharing m, Nondet m a) => (m a -> m a) -> m (m a)Source