{-# LANGUAGE MultiParamTypeClasses #-} -- | -- Module : Data.Markup.Class -- Copyright : (c) Athan L. Clark -- License : MIT -- -- Maintainer : Athan L. Clark -- Stability : experimental -- Portability : GHC -- -- We expect the markup engines that we support to be /monadic/: -- -- * they accumulate their data internally, in the monad - not a direct value -- * they do not care about the data contained - -- and both set the -- contained data to unit @()@ in their combinators. -- -- From this, we can make multiple calls to @deploy@ in a @do@ statement, and -- none of the types will be ambiguous. module Data.Markup.Class where -- | Overload assets and their markup library, over some deployment class Deploy symbol strategy input markup where deploy :: symbol -> strategy -> input -> markup ()