{-# LANGUAGE MultiParamTypeClasses #-} -- | -- Module : Data.Markup.Class -- Copyright : (c) Athan L. Clark -- License : MIT -- -- Maintainer : Athan L. Clark <athan.clark@gmail.com> -- 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 - <https://hackage.haskell.org/package/lucid lucid> -- and <https://hackage.haskell.org/package/blaze-html blaze-html> 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 ()