{-# LANGUAGE TypeOperators #-} module Text.Format.Internal ( (:=) (..) , ferror , errorArgFmt , errorCloseTag , errorTypeFmt , errorMissingArg ) where -- | A type represent a named ArgKey and an another data infixr 6 := data (:=) a = String := a -------------------------------------------------------------------------------- ferror :: String -> a ferror s = errorWithoutStackTrace $ "format: " ++ s errorArgFmt :: String -> a errorArgFmt cs = ferror $ "bad arg format: " ++ cs errorCloseTag :: a errorCloseTag = ferror $ "close tag '}' missing" errorTypeFmt :: String -> String -> a errorTypeFmt ts cs = ferror $ ts ++ " not allowed for " ++ cs ++ " type(s)" errorMissingArg :: a errorMissingArg = ferror "argument missing"