module-management-0.20.2: testdata/merge5/Apt/MonadApt.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses,
PackageImports, TypeSynonymInstances, UndecidableInstances #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
-- |AptIO is an instance of the RWS monad used to manage the global
-- state and output style parameters of clients of the Apt library,
-- such as the autobuilder.
module Apt.MonadApt
( MonadApt(getApt, putApt)
) where
import "MonadCatchIO-mtl" Control.Monad.CatchIO (MonadCatchIO)
import Control.Monad.State (MonadIO)
import Apt.AptState (AptState)
class (MonadIO m, Functor m, MonadCatchIO m) => MonadApt m where
getApt :: m AptState
putApt :: AptState -> m ()