-- | Pretty-printing that requires a context
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE RankNTypes #-}
module Data.Cfg.CPretty(CPretty(..)) where

import Control.Monad.Reader
import Text.PrettyPrint

-- | Pretty-printing that requires a context
class CPretty p ctxt where
    cpretty :: (MonadReader ctxt m) => p -> m Doc
	-- ^ pretty-print in a monad providing the context