H ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abportable experimental'Alex Kropivny <alex.kropivny@gmail.com>C *An annotation for modules, variables, ...  core erlang annotated construct core erlang construct $The timeout of a receive expression A guarded alternative when exp -> exp. . The first expression will be Boolean-valued. An alias, used in patterns *A pattern, to be matched against a value. alias pattern list of bitstring patterns  list pattern tuple pattern literal constant  variable list of patterns single pattern An alt in a case expression !A list of expressions "#$ A bitstring. %&CoreErlang expression. 'catch expression (receive expression )try expression *operator application +binary expression ,list expression -tuple expression .case exp of alts end /letrec expression 0local declaration 1 sequencing 2lambda expression 3 module call 4 application 5function name 6literal constant 7 variable 8CoreErlang expressions. 9list of expressions :single expression ;literal. E Values of this type hold the abstract value of the literal, not the 2 precise string representation used. For example, 10, 0o12 and 0xa  have the same representation. < empty list = atom literal >floating point literal ?integer literal @string literal Acharacter literal B'This type is used to represent lambdas CD)This type is used to represent constants EFGHA CoreErlang source module. IJ.This type is used to represent function names KL%This type is used to represent atoms MN)This type is used to represent variables C  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNCHIBC&76543210/.-,+*)('8:9 !#"$%JK;A@?>=<DGFELMN  C   !#""#$%%&76543210/.-,+*)(''()*+,-./012345678:99:;A@?>=<<=>?@ABCCDGFEEFGHIIJKKLMMNportable experimental'Alex Kropivny <alex.kropivny@gmail.com>XOGThings that can be pretty-printed, including all the syntactic objects  in Language.CoreErlang.Syntax. c%Pretty-print something in isolation. d0Pretty-print something in a precedence context. e;The document type produced by these pretty printers uses a QP  environment. fPretty printing monad gPPretty-printing parameters. QR indentation of the alternatives  in a case expression S indentation of the declarations  in a case expression T indentation of the declarations  in a function definition U indentation of the declarations  in a lambda expression V indentation of the declarations  in a let expression W indentation of the declarations  in a letrec expression X#indentation added for continuation ' lines that would otherwise be offside YPretty-printing style to use Z[ Varieties of layout we can use. \everything on a single line ]classical layout ^8The default mode: pretty-print using sensible defaults. hijklmnopqrstuvwxyz{|}~1render the document with a given style and mode. 'render the document with a given mode. %render the document with defaultMode _*pretty-print with a given style and mode. `6pretty-print with the default style and a given mode. a(pretty-print with the default style and ^. 0Monadic PP Combinators -- these examine the env  OPQRSTUVWXYZ[\]^_`aO_`a  PQRSTUVWXYZ[]\^OP QRSTUVWXYQRSTUVWXYZ[]\\]^_`aportable experimental'Alex Kropivny <alex.kropivny@gmail.com>9bEParse of a string, which should contain a complete CoreErlang module bbb        !"#$$%&'()*!+,-./01234566%789:;<=>>?@ABCCDDEE5FGGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~hCoreErlang-0.0.2Language.CoreErlang.ParserLanguage.CoreErlang.PrettyLanguage.CoreErlang.Syntax parsec-3.1.2Text.Parsec.Error ParseErrorpretty-1.1.0.0Text.PrettyPrint.HughesPJstyleribbonsPerLine lineLengthmodeStylePageMode ZigZagModeLeftMode OneLineModeModeAnnConstrTimeOutGuardAliasPatPAliasPBinaryPListPTuplePLitPVarPatsAltListLLL BitStringExpCatchRecTryOpBinaryTupleCaseLetRecLetSeqLambdaModCallAppFunLitVarExpsLiteralLNilLAtomLFloatLIntLStringLCharFunDefConstCListCTupleCLitModuleFunctionAtomPrettyPPMode altIndent caseIndent fundefIndent lambdaIndent letIndent letrecIndent onsideIndentlayoutIndentPPLayout PPNoLayout PPDefault defaultModeprettyPrintStyleModeprettyPrintWithMode prettyPrint parseModulepretty prettyPrecDocDocMthenDocM then_DocMretDocMunDocMgetPPEnvemptynesttextptextcharintintegerfloatdoubleparensbracketsbracesquotes doubleQuotesparensIfsemicommacolonspaceequalslparenrparenlbrackrbracklbracerbrace<><+>$$$+$hcathsepvcatsepcatfsepfcathang punctuaterenderStyleModerenderWithModerenderfullRenderWithMode fullRenderppModuleHeaderangles angleList braceList bracketList parenListtopLevelppAssignppTupleppBody$$$ myFsepSimplemyFsep layoutChoiceppAnn uppercase lowercase inputcharcontrolnamecharescapeoctaltryOctal octaldigitctrlctrlcharpositivenegativeatomecharestringvariableemoduleamoduleexports attributesconstantfundeffunctionliteralnil expression sexpressionappecatchebinary bitstringecaseclausepatternspatternaliasguardelet variableslambdaletrecelistlistmodcallopreceivetimeouteseqetrytuple annotation annotatedlexerrunLex