uhc-util-0.1.6.7: UHC utilities

Safe HaskellSafe
LanguageHaskell98

UHC.Util.PrettySimple

Contents

Synopsis

Documentation

class Show a => PP a where Source #

Interface for PP

Methods

pp :: a -> PP_Doc Source #

ppList :: [a] -> PP_Doc Source #

Instances

PP Char Source # 

Methods

pp :: Char -> PP_Doc Source #

ppList :: [Char] -> PP_Doc Source #

PP Float Source # 
PP Int Source # 

Methods

pp :: Int -> PP_Doc Source #

ppList :: [Int] -> PP_Doc Source #

PP Integer Source # 
PP PP_Doc Source # 
PP Nm Source # 

Methods

pp :: Nm -> PP_Doc Source #

ppList :: [Nm] -> PP_Doc Source #

PP GTm Source # 

Methods

pp :: GTm -> PP_Doc Source #

ppList :: [GTm] -> PP_Doc Source #

PP ConstraintSolvesVia Source # 
PP Prio Source # 

Methods

pp :: Prio -> PP_Doc Source #

ppList :: [Prio] -> PP_Doc Source #

PP a => PP [a] Source # 

Methods

pp :: [a] -> PP_Doc Source #

ppList :: [[a]] -> PP_Doc Source #

PP s => PP (StackedVarLookup s) Source # 
(Ord n, PP n) => PP (DpdGr n) Source # 

Methods

pp :: DpdGr n -> PP_Doc Source #

ppList :: [DpdGr n] -> PP_Doc Source #

PP k => PP (TreeTrieMp1Key k) Source # 
PP k => PP (TreeTrie1Key k) Source # 
(PP k, PP v) => PP (TreeTrie k v) Source # 

Methods

pp :: TreeTrie k v -> PP_Doc Source #

ppList :: [TreeTrie k v] -> PP_Doc Source #

(PP k, PP v) => PP (VarMp' k v) Source # 

Methods

pp :: VarMp' k v -> PP_Doc Source #

ppList :: [VarMp' k v] -> PP_Doc Source #

(PP k, PP v) => PP (VarMp' k v) Source # 

Methods

pp :: VarMp' k v -> PP_Doc Source #

ppList :: [VarMp' k v] -> PP_Doc Source #

(PP bp, PP c) => PP (RuleBodyAlt c bp) Source # 

Methods

pp :: RuleBodyAlt c bp -> PP_Doc Source #

ppList :: [RuleBodyAlt c bp] -> PP_Doc Source #

(PP (TTKey c), PP c, PP g) => PP (StoredCHR c g) Source # 

Methods

pp :: StoredCHR c g -> PP_Doc Source #

ppList :: [StoredCHR c g] -> PP_Doc Source #

(PP r, PP c) => PP (SolveStep' c r s) Source # 

Methods

pp :: SolveStep' c r s -> PP_Doc Source #

ppList :: [SolveStep' c r s] -> PP_Doc Source #

(PP c, PP g, PP p, PP bp) => PP (Rule c g bp p) Source # 

Methods

pp :: Rule c g bp p -> PP_Doc Source #

ppList :: [Rule c g bp p] -> PP_Doc Source #

(PP (TTKey c), PP c, PP g, PP bp, PP p) => PP (StoredCHR c g bp p) Source # 

Methods

pp :: StoredCHR c g bp p -> PP_Doc Source #

ppList :: [StoredCHR c g bp p] -> PP_Doc Source #

disp :: PP_Doc -> Int -> ShowS Source #

Display to string

hPut :: Handle -> PP_Doc -> Int -> IO () Source #

Display to Handle

data Doc Source #

Doc structure

Constructors

Emp 
Str !String 
Hor !Cached !Doc !Doc 
Ver !Cached !Doc !Doc 
Ind !Int !Doc 

(>|<) :: (PP a, PP b) => a -> b -> PP_Doc infixr 3 Source #

PP horizontally aside

(>-<) :: (PP a, PP b) => a -> b -> PP_Doc infixr 2 Source #

PP vertically above

(>#<) :: (PP a, PP b) => a -> b -> PP_Doc infixr 3 Source #

PP horizontally aside with 1 blank in between

hlist :: PP a => [a] -> PP_Doc Source #

PP list vertically

hlistReverse :: PP a => [a] -> PP_Doc Source #

PP list vertically reverse

vlist :: PP a => [a] -> PP_Doc Source #

PP list horizontally

hv :: PP a => [a] -> PP_Doc Source #

PP list vertically, alias for vlist

fill :: PP a => [a] -> PP_Doc Source #

PP list horizontally, alias for hlist

indent :: PP a => Int -> a -> PP_Doc Source #

Indent

empty :: PP_Doc Source #

empty PP

text :: String -> PP_Doc Source #

basic string

Internal use only

isSingleLine :: PP_Doc -> Bool Source #

Is single line doc?