maam-0.2.0.0: An application of the Galois Transformers framework to two example semantics.

Safe HaskellNone
LanguageHaskell2010

FP.Pretty

Documentation

data Chunk Source

Constructors

Text String 
Newline 

Instances

data Layout Source

Constructors

Flat 
Break 

Instances

data Failure Source

Constructors

CanFail 
CantFail 

Instances

data PEnv Source

Constructors

PEnv 

Instances

data PState Source

Constructors

PState 

Fields

column :: Int
 
ribbon :: Int
 

text :: MonadPretty m => String -> m () Source

space :: MonadPretty m => Int -> m () Source

ifFlat :: MonadPretty m => m a -> m a -> m a Source

whenFlat :: MonadPretty m => m () -> m () Source

whenBreak :: MonadPretty m => m () -> m () Source

mustBreak :: MonadPretty m => m () -> m () Source

flat :: MonadPretty m => m a -> m a Source

canFail :: MonadPretty m => m a -> m a Source

nest :: MonadPretty m => Int -> m a -> m a Source

group :: (MonadMaybe m, MonadPretty m) => m a -> m a Source

align :: MonadPretty m => m a -> m a Source

format :: MonadPretty m => Format -> m a -> m a Source

hsep :: MonadPretty m => [m ()] -> m () Source

vsep :: MonadPretty m => [m ()] -> m () Source

hvsep :: MonadPretty m => [m ()] -> m () Source

hsepTight :: MonadPretty m => [m ()] -> m () Source

hvsepTight :: MonadPretty m => [m ()] -> m () Source

botLevel :: MonadPretty m => m () -> m () Source

closed :: MonadPretty m => m () -> m () -> m () -> m () Source

parens :: MonadPretty m => m () -> m () Source

atLevel :: MonadPretty m => Int -> m () -> m () Source

bump :: MonadPretty m => m a -> m a Source

inf :: MonadPretty m => Int -> m () -> m () -> m () -> m () Source

infl :: MonadPretty m => Int -> m () -> m () -> m () -> m () Source

infr :: MonadPretty m => Int -> m () -> m () -> m () -> m () Source

pre :: MonadPretty m => Int -> m () -> m () -> m () Source

post :: MonadPretty m => Int -> m () -> m () -> m () Source

app :: MonadPretty m => m () -> [m ()] -> m () Source

collection :: MonadPretty m => String -> String -> String -> [m ()] -> m () Source

key :: MonadPretty m => String -> m () Source

con :: MonadPretty m => String -> m () Source

bdr :: MonadPretty m => String -> m () Source

lit :: MonadPretty m => String -> m () Source

pun :: MonadPretty m => String -> m () Source

hl :: MonadPretty m => String -> m () Source

op :: MonadPretty m => String -> m () Source

type Doc = DocM () Source

class Pretty a where Source

Methods

pretty :: a -> Doc Source

Instances

Pretty Bool 
Pretty Char 
Pretty Double 
Pretty Int 
Pretty Integer 
Pretty () 
Pretty AltCon 
Pretty Literal 
Pretty DataCon 
Pretty Name 
Pretty String 
Pretty Doc 
(Pretty Name, Pretty Literal) => Pretty Pico 
Pretty Lit 
Pretty BdrNum 
Pretty LocNum 
Pretty GenName 
Pretty RawName 
Pretty BinOp 
(Pretty TokenType, Pretty String) => Pretty Token 
Pretty TokenType 
Bifunctorial * Pretty (,) 
Functorial * Pretty [] 
Functorial * Pretty Set 
Functorial * Pretty ID 
Functorial * Pretty PreCall 
Functorial * Pretty  
Pretty n => Functorial * Pretty (PreExp n) 
Pretty n => Functorial * Pretty (PreCall n) 
Functorial * Pretty ( *) 
Functorial * Pretty ( k) 
Pretty a => Pretty [a] 
Pretty a => Pretty (Maybe a) 
Pretty a => Pretty (SumOfProd a) 
Pretty a => Pretty (SetWithTop a) 
(Ord a, Pretty a) => Pretty (ListSetWithTop a) 
Functorial * Pretty f => Pretty (Fix f) 
(Ord a, Pretty a) => Pretty (ListSet a) 
Pretty a => Pretty (Set a) 
Pretty a => Pretty (ID a) 
(Pretty [t0], Pretty Int) => Pretty (ParserState t) 
Pretty e => Pretty (PreCall e) 
Pretty e => Pretty (PreCaseBranch e) 
Pretty e => Pretty (PreAtom e) 
Pretty ψ => Pretty ( ψ) 
Pretty n => Pretty (PrePico n) 
Pretty ψ => Pretty ( ψ) 
(Pretty a, Pretty b) => Pretty (a, b) 
(Pretty a, Functorial * Pretty f) => Pretty (StampedFix a f) 
(Pretty a, Pretty f) => Pretty (Stamped a f) 
(Pretty k, Pretty v) => Pretty (Map k v) 
(Pretty a, Pretty b) => Pretty ((:+:) a b) 
(Functorial * Pretty m, Pretty a) => Pretty (ListT m a) 
Pretty ( k a) 
Pretty ψ => Pretty ( k ψ) 
(Pretty lτ0, Pretty dτ0) => Pretty (Moment lτ dτ) 
Pretty (ArgVal lτ0 dτ0) => Pretty (Forced lτ dτ) 
(Pretty (Addr lτ0 dτ0), Pretty (ThunkClo lτ0 dτ0), Pretty Name, Pretty Call, Pretty (Env lτ0 dτ0)) => Pretty (KonMemoClo lτ dτ) 
(Pretty Int, Pretty Name, Pretty Pico, Pretty (Env lτ0 dτ0), Pretty lτ0) => Pretty (ThunkClo lτ dτ) 
(Pretty Name, Pretty Call, Pretty (Env lτ0 dτ0)) => Pretty (KonClo lτ dτ) 
Pretty (Addr lτ0 dτ0) => Pretty (Ref lτ dτ) 
(Pretty Name, Pretty Call, Pretty (Env lτ0 dτ0), Pretty lτ0) => Pretty (FunClo lτ dτ) 
(Pretty DataCon, Pretty [ArgVal lτ0 dτ0]) => Pretty (Data lτ dτ) 
(Pretty (Addr lτ0 dτ0), Pretty Literal) => Pretty (ArgVal lτ dτ) 
(Pretty Name, Pretty (Moment lτ0 dτ0)) => Pretty (Addr lτ dτ) 
(Pretty n, Pretty e) => Pretty (VarLam n e) 
(Pretty Literal, Pretty (Data lτ0 dτ0), Pretty DataCon, Pretty (FunClo lτ0 dτ0), Pretty (ThunkClo lτ0 dτ0), Pretty (Forced lτ0 dτ0), Pretty (Ref lτ0 dτ0), Pretty (KonClo lτ0 dτ0), Pretty (KonMemoClo lτ0 dτ0)) => Pretty (CVal lτ dτ) 
Pretty (CVal lτ0 dτ0) => Pretty (OCVal lτ dτ) 
(Pretty n, Pretty e) => Pretty (PreExp n e) 
(Pretty n, Pretty c) => Pretty (PreCall n c) 
(Pretty n, Pretty c) => Pretty (PreAtom n c) 
(Pretty lτ0, Pretty dτ0, Pretty (Env lτ0 dτ0)) => Pretty (𝒮Cxt lτ dτ) 
(Pretty lτ, Pretty dτ) => Pretty (Addr lτ dτ) 
(Pretty Lit, Pretty (Addr lτ0 dτ0)) => Pretty (PicoVal lτ dτ) 
(Pretty lτ, Pretty dτ) => Pretty (Clo lτ dτ) 
(Pretty lτ, Pretty dτ) => Pretty (CVal lτ dτ) 
(Pretty lτ, Pretty dτ) => Pretty (AVal lτ dτ) 
(Pretty n, Pretty e) => Pretty (VarLam n e) 
Pretty ( k a) 
Pretty ψ => Pretty ( k ψ) 
(Pretty a, Pretty b, Pretty c) => Pretty (a, b, c) 
(Functorial * Pretty m, Pretty e, Pretty a) => Pretty (ErrorT e m a) 
Pretty [a0] => Pretty (ParseError k t a) 
(Pretty [c0], Pretty [t0], Pretty ([t0], [a0])) => Pretty (LexParseError c t a) 
(Pretty (Env lτ0 dτ0), Pretty (Store ν0 lτ0 dτ0), Pretty (Moment lτ0 dτ0)) => Pretty (𝒮 ν lτ dτ) 
(Pretty (𝒮Cxt lτ0 dτ0), Pretty (Store val0 lτ0 dτ0)) => Pretty (𝒮 val lτ dτ) 
(Pretty a, Pretty b, Pretty c, Pretty d) => Pretty (a, b, c, d) 
(Pretty lτ, Pretty dτ, Pretty a, Pretty (ν lτ dτ)) => Pretty (PSΣ𝒫 ν lτ dτ a) 
(Pretty val, Pretty lτ, Pretty dτ, Pretty a) => Pretty (FIΣ𝒫 val lτ dτ a) 
(Ord lτ, Ord dτ, Ord a, Pretty val, Pretty lτ, Pretty dτ, Pretty a) => Pretty (FIΣ val lτ dτ a) 
(Pretty val, Pretty lτ, Pretty dτ, Pretty a) => Pretty (FSΣ𝒫 val lτ dτ a) 
(Ord val, Ord lτ, Ord dτ, Ord a, Pretty val, Pretty lτ, Pretty dτ, Pretty a) => Pretty (FSΣ val lτ dτ a) 
(Pretty val, Pretty lτ, Pretty dτ, Pretty a) => Pretty (PSΣ𝒫 val lτ dτ a) 
(Ord val, Ord lτ, Ord dτ, Ord a, Pretty val, Pretty lτ, Pretty dτ, Pretty a) => Pretty (PSΣ val lτ dτ a) 
(Pretty a, Pretty b, Pretty c, Pretty d, Pretty e) => Pretty (a, b, c, d, e) 
Pretty (ν lτ dτ) => Pretty (SumOfProdVal k k ν lτ dτ) 
Pretty (val lτ dτ) => Pretty (Power k k val lτ dτ) 

class PrettyM m a where Source

Methods

prettyM :: a -> m Doc Source