gibbon-0.3: A compiler for operating on serialized data
Safe HaskellSafe-Inferred
LanguageHaskell2010

Gibbon.Pretty

Synopsis

Documentation

class Pretty e where Source #

Minimal complete definition

pprintWithStyle

Methods

pprintWithStyle :: PPStyle -> e -> Doc Source #

pprint :: e -> Doc Source #

Instances

Instances details
Pretty TyVar Source # 
Instance details

Defined in Gibbon.Pretty

Pretty Var Source # 
Instance details

Defined in Gibbon.Pretty

Pretty Ty0 Source # 
Instance details

Defined in Gibbon.Pretty

Pretty TyScheme Source # 
Instance details

Defined in Gibbon.Pretty

Pretty LRM Source # 
Instance details

Defined in Gibbon.Pretty

Pretty Modality Source # 
Instance details

Defined in Gibbon.Pretty

Pretty Region Source # 
Instance details

Defined in Gibbon.Pretty

Pretty RegionSize Source # 
Instance details

Defined in Gibbon.Pretty

Pretty Prog Source # 
Instance details

Defined in Gibbon.Pretty

Pretty FunInline Source # 
Instance details

Defined in Gibbon.Pretty

Pretty FunMeta Source # 
Instance details

Defined in Gibbon.Pretty

Pretty FunRec Source # 
Instance details

Defined in Gibbon.Pretty

Pretty LREM Source # 
Instance details

Defined in Gibbon.Pretty

Pretty LocArg Source # 
Instance details

Defined in Gibbon.Pretty

Pretty Ty2 Source # 
Instance details

Defined in Gibbon.Pretty

Pretty () Source # 
Instance details

Defined in Gibbon.Pretty

Methods

pprintWithStyle :: PPStyle -> () -> Doc Source #

pprint :: () -> Doc Source #

Pretty Bool Source # 
Instance details

Defined in Gibbon.Pretty

Pretty ty2 => Pretty (ArrowTy2 ty2) Source # 
Instance details

Defined in Gibbon.Pretty

Pretty l => Pretty (PreLocExp l) Source # 
Instance details

Defined in Gibbon.Pretty

Pretty ex => Pretty (DDef ex) Source # 
Instance details

Defined in Gibbon.Pretty

HasPretty ex => Pretty (FunDef ex) Source # 
Instance details

Defined in Gibbon.Pretty

(Show d, Pretty d, Ord d) => Pretty (Prim d) Source # 
Instance details

Defined in Gibbon.Pretty

HasPretty ex => Pretty (Prog ex) Source # 
Instance details

Defined in Gibbon.Pretty

Pretty l => Pretty (UrTy l) Source # 
Instance details

Defined in Gibbon.Pretty

Pretty [Var] Source # 
Instance details

Defined in Gibbon.Pretty

Pretty (PreExp e l d) => Pretty [PreExp e l d] Source # 
Instance details

Defined in Gibbon.Pretty

Methods

pprintWithStyle :: PPStyle -> [PreExp e l d] -> Doc Source #

pprint :: [PreExp e l d] -> Doc Source #

(Out a, Pretty a) => Pretty (E0Ext a Ty0) Source # 
Instance details

Defined in Gibbon.Pretty

(Pretty l, Pretty d, Ord d, Show d) => Pretty (E1Ext l d) Source # 
Instance details

Defined in Gibbon.Pretty

Methods

pprintWithStyle :: PPStyle -> E1Ext l d -> Doc Source #

pprint :: E1Ext l d -> Doc Source #

HasPrettyToo E2Ext l d => Pretty (E2Ext l d) Source # 
Instance details

Defined in Gibbon.Pretty

Methods

pprintWithStyle :: PPStyle -> E2Ext l d -> Doc Source #

pprint :: E2Ext l d -> Doc Source #

(Out l, HasPrettyToo E3Ext l (UrTy l)) => Pretty (E3Ext l (UrTy l)) Source # 
Instance details

Defined in Gibbon.Pretty

Methods

pprintWithStyle :: PPStyle -> E3Ext l (UrTy l) -> Doc Source #

pprint :: E3Ext l (UrTy l) -> Doc Source #

Pretty ([UrTy ()], UrTy ()) Source # 
Instance details

Defined in Gibbon.Pretty

Methods

pprintWithStyle :: PPStyle -> ([UrTy ()], UrTy ()) -> Doc Source #

pprint :: ([UrTy ()], UrTy ()) -> Doc Source #

HasPrettyToo e l d => Pretty (PreExp e l d) Source # 
Instance details

Defined in Gibbon.Pretty

Methods

pprintWithStyle :: PPStyle -> PreExp e l d -> Doc Source #

pprint :: PreExp e l d -> Doc Source #

data PPStyle Source #

Rendering style.

Constructors

PPHaskell

Prefer compatibility with GHC over anything else.

PPInternal

Noisiest, useful for Gibbon developers.

type HasPretty ex = (Pretty ex, Pretty (TyOf ex), Pretty (ArrowTy (TyOf ex))) Source #

render :: Doc -> String Source #

Render the Doc to a String using the default Style (see style).