vcswrapper-0.0.3: src/VCSWrapper/Common/VCSMonad.hs
-----------------------------------------------------------------------------
--
-- Module : VCSWrapper.Common.VCSMonad
-- Copyright : 2011 Stephan Fortelny, Harald Jagenteufel
-- License : GPL
--
-- Maintainer : stephanfortelny at gmail.com, h.jagenteufel at gmail.com
-- Stability :
-- Portability :
--
-- | Functions to work with the 'Ctx' monad.
--
-----------------------------------------------------------------------------
module VCSWrapper.Common.VCSMonad (
runVcs
) where
import VCSWrapper.Common.Types (Config (..), Ctx (..))
import Control.Monad.Reader (runReaderT)
{-|
Run a VCS 'Ctx' from a 'Config' and returns the result
-}
runVcs :: Config -- ^ 'Config' for a VCS
-> Ctx t -- ^ An operation running in 'Ctx'
-> IO t
runVcs config (Ctx a) = runReaderT a config