perm-0.4.0.0: Control/Applicative/Perm.hs
{- |
Copyright: Andy Sonnenburg (c) 2012
License: BSD-style (see the file LICENSE)
Maintainer: Andy Sonnenburg <andy22286@gmail.com>
Stability: experimental
Portability: non-portable
-}
module Control.Applicative.Perm
( Perm
, runPerm
, liftPerm
, liftPlus
, hoistPerm
) where
import Control.Applicative
import Control.Monad.Perm.Internal (Perm,
sum1,
liftPerm,
liftPlus,
hoistPerm)
-- | Unwrap a 'Perm', combining actions using the 'Alternative' for @f@.
runPerm :: Alternative m => Perm m a -> m a
runPerm = sum1