liquidhaskell-0.8.10.1: Liquid Types for Haskell
Safe HaskellNone
LanguageHaskell98

Language.Haskell.Liquid.Types.PrettyPrint

Description

This module contains a single function that converts a RType -> Doc without using *any* simplifications.

Synopsis

Printable RTypes

type OkRT c tv r = (TyConable c, PPrint tv, PPrint c, PPrint r, Reftable r, Reftable (RTProp c tv ()), Reftable (RTProp c tv r), Eq c, Eq tv, Hashable tv) #

Printers

rtypeDoc :: OkRT c tv r => Tidy -> RType c tv r -> Doc #

Printing Lists (TODO: move to fixpoint)

pprManyOrdered :: (PPrint a, Ord a) => Tidy -> String -> [a] -> [Doc] #

pprintLongList :: PPrint a => Tidy -> [a] -> Doc #

pprintSymbol :: Symbol -> Doc #

Printing diagnostics

printWarning :: DynFlags -> Warning -> IO () #

Printing Warnings ---------------------------------------------------------

printError :: (Show e, PPrint e) => Tidy -> DynFlags -> TError e -> IO () #

Pretty-printing errors ----------------------------------------------------

Reporting errors in the typechecking phase

reportErrors :: (Show e, PPrint e) => Tidy -> [TError e] -> TcRn () #

Similar in spirit to reportErrors from the GHC API, but it uses our pretty-printer and shim functions under the hood.

Orphan instances

Show Predicate # 
Instance details

PPrint SourceError # 
Instance details

Methods

pprintTidy :: Tidy -> SourceError -> Doc #

pprintPrec :: Int -> Tidy -> SourceError -> Doc #

PPrint Class # 
Instance details

Methods

pprintTidy :: Tidy -> Class -> Doc #

pprintPrec :: Int -> Tidy -> Class -> Doc #

PPrint Type # 
Instance details

Methods

pprintTidy :: Tidy -> Type -> Doc #

pprintPrec :: Int -> Tidy -> Type -> Doc #

PPrint Var # 
Instance details

Methods

pprintTidy :: Tidy -> Var -> Doc #

pprintPrec :: Int -> Tidy -> Var -> Doc #

PPrint ErrMsg #

A whole bunch of PPrint instances follow ----------------------------------

Instance details

Methods

pprintTidy :: Tidy -> ErrMsg -> Doc #

pprintPrec :: Int -> Tidy -> ErrMsg -> Doc #

PPrint TyCon # 
Instance details

Methods

pprintTidy :: Tidy -> TyCon -> Doc #

pprintPrec :: Int -> Tidy -> TyCon -> Doc #

PPrint Name # 
Instance details

Methods

pprintTidy :: Tidy -> Name -> Doc #

pprintPrec :: Int -> Tidy -> Name -> Doc #

PPrint Tidy # 
Instance details

Methods

pprintTidy :: Tidy -> Tidy -> Doc #

pprintPrec :: Int -> Tidy -> Tidy -> Doc #

PPrint LMap # 
Instance details

Methods

pprintTidy :: Tidy -> LMap -> Doc #

pprintPrec :: Int -> Tidy -> LMap -> Doc #

PPrint LogicMap # 
Instance details

Methods

pprintTidy :: Tidy -> LogicMap -> Doc #

pprintPrec :: Int -> Tidy -> LogicMap -> Doc #

PPrint a => Show (AnnInfo a) # 
Instance details

Methods

showsPrec :: Int -> AnnInfo a -> ShowS #

show :: AnnInfo a -> String #

showList :: [AnnInfo a] -> ShowS #

PPrint (Expr Var) # 
Instance details

Methods

pprintTidy :: Tidy -> Expr Var -> Doc #

pprintPrec :: Int -> Tidy -> Expr Var -> Doc #

PPrint (Bind Var) # 
Instance details

Methods

pprintTidy :: Tidy -> Bind Var -> Doc #

pprintPrec :: Int -> Tidy -> Bind Var -> Doc #

PPrint t => PPrint (Annot t) # 
Instance details

Methods

pprintTidy :: Tidy -> Annot t -> Doc #

pprintPrec :: Int -> Tidy -> Annot t -> Doc #

PPrint a => PPrint (AnnInfo a) # 
Instance details

Methods

pprintTidy :: Tidy -> AnnInfo a -> Doc #

pprintPrec :: Int -> Tidy -> AnnInfo a -> Doc #

(PPrint r, Reftable r) => PPrint (UReft r) # 
Instance details

Methods

pprintTidy :: Tidy -> UReft r -> Doc #

pprintPrec :: Int -> Tidy -> UReft r -> Doc #

(PPrint tv, PPrint t) => PPrint (RTEnv tv t) # 
Instance details

Methods

pprintTidy :: Tidy -> RTEnv tv t -> Doc #

pprintPrec :: Int -> Tidy -> RTEnv tv t -> Doc #

(PPrint tv, PPrint ty) => PPrint (RTAlias tv ty) # 
Instance details

Methods

pprintTidy :: Tidy -> RTAlias tv ty -> Doc #

pprintPrec :: Int -> Tidy -> RTAlias tv ty -> Doc #

OkRT c tv r => PPrint (RType c tv r) #

Pretty Printing RefType ---------------------------------------------------

Instance details

Methods

pprintTidy :: Tidy -> RType c tv r -> Doc #

pprintPrec :: Int -> Tidy -> RType c tv r -> Doc #