-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Text and ByteString printers for 'syntax'. -- -- Text and ByteString printers for syntax. @package syntax-printer @version 1.0.0.0 module Data.Syntax.Printer.Consumer -- | A writer monad combined with Either String. newtype Consumer m a Consumer :: Either String (m, a) -> Consumer m a runConsumer :: Consumer m a -> Either String (m, a) instance Functor (Consumer m) instance Monoid m => MonadPlus (Consumer m) instance Monoid m => Monad (Consumer m) instance Monoid m => Alternative (Consumer m) instance Monoid m => Applicative (Consumer m) module Data.Syntax.Printer.Text -- | Prints a value to a Text Builder using a syntax description. data Printer a b -- | Runs the printer. runPrinter :: Printer a b -> b -> Either String (Builder, a) -- | Runs the printer and discards the result. runPrinter_ :: Printer a b -> b -> Either String Builder instance Category Printer instance Products Printer instance Coproducts Printer instance CatPlus Printer instance SIArrow Printer instance SyntaxChar Printer instance Isolable Printer instance Syntax Printer module Data.Syntax.Printer.Text.Lazy -- | Prints a value to a Text Builder using a syntax description. data Printer a b -- | Runs the printer. runPrinter :: Printer a b -> b -> Either String (Builder, a) -- | Runs the printer and discards the result. runPrinter_ :: Printer a b -> b -> Either String Builder instance Category Printer instance Products Printer instance Coproducts Printer instance CatPlus Printer instance SIArrow Printer instance SyntaxChar Printer instance Isolable Printer instance Syntax Printer module Data.Syntax.Printer.ByteString -- | Prints a value to a ByteString Builder using a syntax description. data Printer a b -- | Runs the printer. runPrinter :: Printer a b -> b -> Either String (Builder, a) -- | Runs the printer and discards the result. runPrinter_ :: Printer a b -> b -> Either String Builder instance Category Printer instance Products Printer instance Coproducts Printer instance CatPlus Printer instance SIArrow Printer instance Isolable Printer instance Syntax Printer module Data.Syntax.Printer.ByteString.Lazy -- | Prints a value to a ByteString Builder using a syntax description. data Printer a b -- | Runs the printer. runPrinter :: Printer a b -> b -> Either String (Builder, a) -- | Runs the printer and discards the result. runPrinter_ :: Printer a b -> b -> Either String Builder instance Category Printer instance Products Printer instance Coproducts Printer instance CatPlus Printer instance SIArrow Printer instance Isolable Printer instance Syntax Printer