judge-0.1.2.0: Tableau-based theorem prover.

Copyright(c) 2017 2018 N Steenbergen
LicenseGPL-3
Maintainerns@slak.ws
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Logic.Judge.Writer.Plain

Description

This module provides instances for prettyprinted output in Doc-format.

Synopsis

Documentation

class Printable a where Source #

Instances of this class can be prettyprinted.

Minimal complete definition

pretty

Methods

pretty :: a -> Doc Source #

Produce a Doc representing LaTeX code.

prettyEmbedded :: a -> Doc Source #

In some cases, the representation for a type must be embellished with some other symbols when it occurs as part of a representation of a different type, but not when it occurs on its own. This printer allows us to specify this alternative.

prettyRecursive :: a -> Doc Source #

Prettyprinting below the top level can optionally have a different procedure - for adding parentheses, for example.

Instances

Printable Bool Source # 
Printable Int Source # 
Printable String Source # 
Printable Text Source # 
Printable Justification Source # 
Printable Modality Source # 
Printable Quantifier Source # 
Printable PrimitiveStaticTerms Source # 
Printable PrimitiveDynamicTerms Source # 
Printable a => Printable [a] Source # 

Methods

pretty :: [a] -> Doc Source #

prettyEmbedded :: [a] -> Doc Source #

prettyRecursive :: [a] -> Doc Source #

Printable a => Printable (Maybe a) Source # 
Printable a => Printable (Tree a) Source # 
Printable term => Printable (Ambiguous term) Source # 
Printable ext => Printable (Term ext) Source # 
Printable f => Printable (Marked f) Source # 
Printable ext => Printable (Formula ext) Source # 
Printable ext => Printable (RuleUninstantiated ext) Source # 
Printable ext => Printable (TableauSystem ext) Source # 
Printable ext => Printable (Tableau ext) Source # 
(Printable a, Printable b) => Printable (Either a b) Source # 
(Printable a, Printable b) => Printable (a, b) Source # 

Methods

pretty :: (a, b) -> Doc Source #

prettyEmbedded :: (a, b) -> Doc Source #

prettyRecursive :: (a, b) -> Doc Source #

Printable a => Printable (HashMap String a) Source # 
Printable a => Printable (Map String a) Source # 
(Printable ext, Printable primitive) => Printable (Terms primitive ext) Source # 

Methods

pretty :: Terms primitive ext -> Doc Source #

prettyEmbedded :: Terms primitive ext -> Doc Source #

prettyRecursive :: Terms primitive ext -> Doc Source #

(Printable ext, Printable primitive) => Printable (Constraint primitive ext) Source # 

Methods

pretty :: Constraint primitive ext -> Doc Source #

prettyEmbedded :: Constraint primitive ext -> Doc Source #

prettyRecursive :: Constraint primitive ext -> Doc Source #

(Printable input, Printable ext) => Printable (Result input (Tableau ext)) Source # 

Methods

pretty :: Result input (Tableau ext) -> Doc Source #

prettyEmbedded :: Result input (Tableau ext) -> Doc Source #

prettyRecursive :: Result input (Tableau ext) -> Doc Source #

Printable b => Printable (Ref Int b) Source # 

pretty :: Printable a => a -> Doc Source #

Produce a Doc representing LaTeX code.

prettyEmbedded :: Printable a => a -> Doc Source #

In some cases, the representation for a type must be embellished with some other symbols when it occurs as part of a representation of a different type, but not when it occurs on its own. This printer allows us to specify this alternative.

prettyRecursive :: Printable a => a -> Doc Source #

Prettyprinting below the top level can optionally have a different procedure - for adding parentheses, for example.