#/      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(c) The GHC Team, 1997-2000/BSD-style (see the file libraries/base/LICENSE)libraries@haskell.org experimentalportableNone2  haskell-srcA guarded alternative | exp -> exp/. The first expression will be Boolean-valued. haskell-src-> exp haskell-srcgdpat haskell-srcAn alt in a case expression. haskell-srcAn fbind7 in a labeled record construction or update expression. haskell-srcThis type represents both stmt in a do-expression, and qual in a list comprehension. haskell-src a generator pat <- exp haskell-srcan exp by itself: in a do_-expression, an action whose result is discarded; in a list comprehension, a guard expression haskell-srclocal bindings haskell-srcAn fpat in a labeled record pattern. haskell-src)A pattern, to be matched against a value. haskell-srcvariable haskell-srcliteral constant haskell-srcnegated pattern haskell-src#pattern with infix data constructor haskell-src'data constructor and argument patterns  haskell-src tuple pattern! haskell-src list pattern" haskell-srcparenthesized pattern# haskell-srclabelled pattern$ haskell-src@-pattern% haskell-srcwildcard pattern (_)& haskell-srcirrefutable pattern (~)' haskell-srcHaskell expressions.Notes:CBecause it is difficult for parsers to distinguish patterns from expressions, they typically parse them in the same way and then check that they have the appropriate form. Hence the expression type includes some forms that are found only in patterns. After these checks, these constructors should not be used.XThe parser does not take precedence and associativity into account, so it will leave +s associated to the left.The  instance for ') does not add parentheses in printing.( haskell-srcvariable) haskell-srcdata constructor* haskell-srcliteral constant+ haskell-srcinfix application, haskell-srcordinary application- haskell-srcnegation expression - exp. haskell-srclambda expression/ haskell-srclocal declarations with let0 haskell-srcif exp then exp else exp1 haskell-srccase exp of alts2 haskell-srcdoF-expression: the last statement in the list should be an expression.3 haskell-srctuple expression4 haskell-srclist expression5 haskell-srcparenthesized expression6 haskell-src left section (exp qop)7 haskell-srcright section (qop exp)8 haskell-srcrecord construction expression9 haskell-srcrecord update expression: haskell-src1unbounded arithmetic sequence, incrementing by 1; haskell-src/bounded arithmetic sequence, incrementing by 1< haskell-src=unbounded arithmetic sequence, with first two elements given= haskell-src;bounded arithmetic sequence, with first two elements given> haskell-srclist comprehension? haskell-srcexpression type signature@ haskell-src patterns onlyA haskell-src patterns onlyB haskell-src patterns onlyC haskell-srcliteralz. Values of this type hold the abstract value of the literal, not the precise string representation used. For example, 10, 0o12 and 0xa have the same representation.D haskell-srccharacter literalE haskell-srcstring literalF haskell-srcinteger literalG haskell-srcfloating point literalH haskell-srcGHC unboxed character literalI haskell-srcGHC unboxed string literalJ haskell-srcGHC unboxed integer literalK haskell-srcGHC unboxed float literalL haskell-srcGHC unboxed double literalM haskell-src<Class assertions. In Haskell 98, the argument would be a tyvarK, but this definition allows multiple parameters, and allows them to be types.O haskell-src$Haskell types and type constructors.P haskell-src function typeQ haskell-src tuple typeR haskell-src!application of a type constructorS haskell-src type variableT haskell-srcnamed type or type constructorU haskell-srcMA type qualified with a context. An unqualified type has an empty context.W haskell-src*Safety level for invoking a foreign entityX haskell-srccall may generate callbacksY haskell-src call will not generate callbacksZ haskell-srcA guarded right hand side | exp = exp/. The first expression will be Boolean-valued.\ haskell-src5The right hand side of a function or pattern binding.] haskell-srcunguarded right hand side (exp)^ haskell-srcguarded right hand side (gdrhs)_ haskell-src[The type of a constructor argument or field, optionally including a strictness annotation.` haskell-srcstrict component, marked with "!"a haskell-srcnon-strict componentb haskell-src"Declaration of a data constructor.c haskell-srcordinary data constructord haskell-srcrecord constructore haskell-srcClauses of a function binding.t haskell-srcAssociativity of an operator.u haskell-src(non-associative operator (declared with infix)v haskell-src)left-associative operator (declared with infixl).w haskell-src*right-associative operator (declared with infixr)x haskell-srcImport specification.y haskell-srcvariablez haskell-srcT1: the name of a class, datatype or type synonym.{ haskell-srcT(..)b: a class imported with all of its methods, or a datatype imported with all of its constructors.| haskell-srcT(C_1,...,C_n)d: a class imported with some of its methods, or a datatype imported with some of its constructors.} haskell-srcImport declaration. haskell-srcposition of the import keyword. haskell-srcname of the module imported. haskell-src imported  qualified? haskell-srcoptional alias name in an as clause. haskell-src-optional list of import specifications. The  is  if the names are excluded by hiding. haskell-srcExport specification. haskell-srcvariable haskell-srcT?: a class or datatype exported abstractly, or a type synonym. haskell-srcT(..)b: a class exported with all of its methods, or a datatype exported with all of its constructors. haskell-srcT(C_1,...,C_n)d: a class exported with some of its methods, or a datatype exported with some of its constructors. haskell-srcmodule M: re-export a module. haskell-srcA Haskell source module. haskell-srcA name (cname/) of a component of a class or data type in an import or export specification. haskell-srcname of a method or field haskell-srcname of a data constructor haskell-srcOperators, appearing in infix declarations. haskell-srcvariable operator (varop) haskell-srcconstructor operator (conop) haskell-src$Possibly qualified infix operators (qop), appearing in expressions. haskell-srcvariable operator (qvarop) haskell-srcconstructor operator (qconop) haskell-src@This type is used to represent variables, and also constructors. haskell-srcvarid or conid haskell-srcvarsym or consym haskell-srcUThis type is used to represent qualified variables, and also qualified constructors. haskell-src!name qualified with a module name haskell-srcunqualified name haskell-src(built-in constructor with special syntax haskell-src{Constructors with special syntax. These names are never qualified, and always refer to builtin type or data constructors. haskell-srcunit type and data constructor () haskell-srclist type constructor [] haskell-srcfunction type constructor -> haskell-srcn)-ary tuple type and data constructors (,) etc haskell-srclist data constructor (:) haskell-srcThe name of a Haskell module. haskell-srcA position in the source.  !"#$%&'*()+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}~xyz{|tuvwghijklmnopqrsbcd_`aef\]^Z[WXYUVNMOPQRST'*()+,-./0123456789:;<=>?@AB   !"#$%&CDEFGHIJKL+(c) The GHC Team, Noel Winstanley 1997-2000/BSD-style (see the file libraries/base/LICENSE)libraries@haskell.org experimentalportableNone/ haskell-srcKThings that can be pretty-printed, including all the syntactic objects in Language.Haskell.Syntax. haskell-src$Pretty-print something in isolation. haskell-src/Pretty-print something in a precedence context. haskell-src;The document type produced by these pretty printers uses a  environment. haskell-srcPretty printing monad haskell-srcPretty-printing parameters.Note: the &2 must be positive and less than all other indents.! haskell-src"indentation of a class or instance" haskell-srcindentation of a do -expression# haskell-srcindentation of the body of a case expression$ haskell-src&indentation of the declarations in a let expression% haskell-src&indentation of the declarations in a where clause& haskell-srcIindentation added for continuation lines that would otherwise be offside' haskell-srcblank lines between statements?( haskell-srcPretty-printing style to use) haskell-srcadd GHC-style LINE pragmas to output?* haskell-srcnot implemented yet, haskell-srcVarieties of layout we can use.- haskell-srcclassical layout. haskell-srcclassical layout made explicit/ haskell-src(inline decls, with newlines between them0 haskell-srceverything on a single line1 haskell-srcMThe default mode: pretty-print using the offside rule and sensible defaults. haskell-src0render the document with a given style and mode.2 haskell-src)pretty-print with a given style and mode.3 haskell-src5pretty-print with the default style and a given mode.4 haskell-src(pretty-print with the default style and 1.6 haskell-src"  !"#$%&'()*+,-./01234"234  !"#$%&'()*+,-./015(c) The GHC Team, 1997-2000/BSD-style (see the file libraries/base/LICENSE)libraries@haskell.org experimentalportableNone8X haskell-srcMonad for parsingY haskell-srcbStatic parameters governing a parse. More to come later, e.g. literate mode, language extensions.[ haskell-src&original name of the file being parsed_ haskell-srcThe result of a parse.` haskell-src&The parse succeeded, yielding a value.a haskell-srcJThe parse failed at the specified source location, with an error message.b haskell-srcQDefault parameters for a parse, currently just a marker for an unknown filename.j haskell-srcHDiscard some input characters (these must not include tabs or newlines).k haskell-src4Discard the next character, which must be a newline.l haskell-src0Discard the next character, which must be a tab.v haskell-srcz haskell-src| haskell-src} haskell-src~ haskell-src haskell-src haskell-srcVWXYZ[\]^_`abcdefghijklmnopqrstX_`ae\]^YZ[bcdfghVWijklmnopqrst(c) The GHC Team, 1997-2000/BSD-style (see the file libraries/base/LICENSE)libraries@haskell.org experimentalportableNone7(c) The GHC Team, 1997-2000/BSD-style (see the file libraries/base/LICENSE)libraries@haskell.org experimentalportableNoneCC&(c) Simon Marlow, Sven Panne 1997-2000/BSD-style (see the file libraries/base/LICENSE)libraries@haskell.org experimentalportableNone=?Fhƽ haskell-srcEParse of a string, which should contain a complete Haskell 98 module. haskell-srcEParse of a string, which should contain a complete Haskell 98 module. YZ[_`ab YZ[b_`a9 9             !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[\]^^_`abcdeefgghijklmnopqrstuvwxyz{|}~~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~haskell-src-1.0.3.1-inplaceLanguage.Haskell.PrettyLanguage.Haskell.SyntaxLanguage.Haskell.ParseMonadLanguage.Haskell.ParseUtilsLanguage.Haskell.LexerLanguage.Haskell.ParserPrettypretty-1.1.3.6#Text.PrettyPrint.Annotated.HughesPJstyleribbonsPerLine lineLengthmodeStyle OneLineModeLeftMode ZigZagModePageModeMode HsGuardedAlt HsGuardedAltsHsUnGuardedAltHsAlt HsFieldUpdateHsStmt HsGenerator HsQualifier HsLetStmt HsPatField HsPFieldPatHsPatHsPVarHsPLitHsPNeg HsPInfixAppHsPAppHsPTupleHsPListHsPParenHsPRecHsPAsPat HsPWildCard HsPIrrPatHsExpHsVarHsConHsLit HsInfixAppHsAppHsNegAppHsLambdaHsLetHsIfHsCaseHsDoHsTupleHsListHsParen HsLeftSectionHsRightSection HsRecConstr HsRecUpdate HsEnumFrom HsEnumFromToHsEnumFromThenHsEnumFromThenTo HsListComp HsExpTypeSigHsAsPat HsWildCardHsIrrPat HsLiteralHsCharHsStringHsIntHsFrac HsCharPrim HsStringPrim HsIntPrim HsFloatPrim HsDoublePrimHsAsst HsContextHsTypeHsTyFun HsTyTupleHsTyAppHsTyVarHsTyCon HsQualTypeHsSafetyHsSafeHsUnsafe HsGuardedRhsHsRhsHsUnGuardedRhs HsGuardedRhss HsBangType HsBangedTy HsUnBangedTy HsConDecl HsRecDeclHsMatchHsDecl HsTypeDecl HsDataDecl HsInfixDecl HsNewTypeDecl HsClassDecl HsInstDecl HsDefaultDecl HsTypeSig HsFunBind HsPatBindHsForeignImportHsForeignExportHsAssoc HsAssocNone HsAssocLeft HsAssocRight HsImportSpecHsIVarHsIAbs HsIThingAll HsIThingWith HsImportDecl importLoc importModuleimportQualifiedimportAs importSpecs HsExportSpecHsEVarHsEAbs HsEThingAll HsEThingWithHsEModuleContentsHsModuleHsCName HsVarName HsConNameHsOpHsVarOpHsConOpHsQOpHsQVarOpHsQConOpHsNameHsIdentHsSymbolHsQNameQualUnQualSpecial HsSpecialCon HsUnitCon HsListConHsFunCon HsTupleConHsConsModuleSrcLoc srcFilenamesrcLine srcColumn prelude_modmain_mod main_name unit_con_nametuple_con_namelist_cons_nameunit_con tuple_conunit_tycon_namefun_tycon_namelist_tycon_nametuple_tycon_name unit_tycon fun_tycon list_tycon tuple_tycon $fEqSrcLoc $fOrdSrcLoc $fShowSrcLoc $fDataSrcLoc $fEqModule $fOrdModule $fShowModule $fDataModule$fEqHsSpecialCon$fOrdHsSpecialCon$fShowHsSpecialCon$fDataHsSpecialCon $fEqHsName $fOrdHsName $fShowHsName $fDataHsName $fEqHsQName $fOrdHsQName $fShowHsQName $fDataHsQName $fEqHsQOp $fOrdHsQOp $fShowHsQOp $fDataHsQOp$fEqHsOp $fOrdHsOp $fShowHsOp $fDataHsOp $fEqHsCName $fOrdHsCName $fShowHsCName $fDataHsCName$fEqHsExportSpec$fShowHsExportSpec$fDataHsExportSpec$fEqHsImportSpec$fShowHsImportSpec$fDataHsImportSpec$fEqHsImportDecl$fShowHsImportDecl$fDataHsImportDecl $fEqHsAssoc $fShowHsAssoc $fDataHsAssoc $fEqHsSafety $fOrdHsSafety$fShowHsSafety$fDataHsSafety $fEqHsType $fShowHsType $fDataHsType$fEqHsBangType$fShowHsBangType$fDataHsBangType $fEqHsConDecl$fShowHsConDecl$fDataHsConDecl$fEqHsQualType$fShowHsQualType$fDataHsQualType $fEqHsLiteral$fShowHsLiteral$fDataHsLiteral$fEqHsPatField$fShowHsPatField$fDataHsPatField $fEqHsPat $fShowHsPat $fDataHsPat$fEqHsGuardedAlt$fShowHsGuardedAlt$fDataHsGuardedAlt $fEqHsExp $fShowHsExp $fDataHsExp $fEqHsAlt $fShowHsAlt $fDataHsAlt$fEqHsGuardedAlts$fShowHsGuardedAlts$fDataHsGuardedAlts $fEqHsDecl $fShowHsDecl $fDataHsDecl $fEqHsRhs $fShowHsRhs $fDataHsRhs$fEqHsGuardedRhs$fShowHsGuardedRhs$fDataHsGuardedRhs $fEqHsMatch $fShowHsMatch $fDataHsMatch$fEqHsFieldUpdate$fShowHsFieldUpdate$fDataHsFieldUpdate $fEqHsStmt $fShowHsStmt $fDataHsStmt$fShowHsModule$fDataHsModulePPHsMode classIndentdoIndent caseIndent letIndent whereIndent onsideIndentspacinglayout linePragmascommentsIndentPPLayout PPOffsideRule PPSemiColonPPInLine PPNoLayout defaultModeprettyPrintStyleModeprettyPrintWithMode prettyPrint $fMonadDocM$fApplicativeDocM $fFunctorDocM$fPrettyHsCName$fPrettyHsName $fPrettyHsOp$fPrettyHsQName $fPrettyHsQOp$fPrettyHsFieldUpdate$fPrettyHsStmt$fPrettyHsGuardedAlt$fPrettyHsGuardedAlts $fPrettyHsAlt$fPrettyHsPatField $fPrettyHsPat $fPrettyHsExp$fPrettyHsLiteral$fPrettyHsGuardedRhs $fPrettyHsRhs$fPrettyHsType$fPrettyHsQualType$fPrettyHsBangType$fPrettyHsConDecl$fPrettyHsMatch$fPrettyHsSafety$fPrettyHsAssoc$fPrettyHsDecl$fPrettyHsImportSpec$fPrettyHsImportDecl$fPrettyHsExportSpec$fPrettyModule$fPrettyHsModule $fEqPPLayoutLexrunLP ParseMode parseFilename LexContextNoLayoutLayout ParseResultParseOk ParseFaileddefaultParseModerunParserWithMode runParseratSrcLoc getSrcLocpushCurrentContext popContextgetInputdiscard lexNewlinelexTablexWhile alternativecheckBOLsetBOL startToken getOffside pushContextL popContextL$fMonoidParseResult$fSemigroupParseResult$fMonadParseResult$fApplicativeParseResult$fFunctorParseResult $fMonadFailP$fMonadP$fApplicativeP $fFunctorP$fMonadFailLex $fMonadLex$fApplicativeLex $fFunctorLex$fShowParseResult$fEqLexContext$fOrdLexContext$fShowLexContext$fShowParseStatus splitTyConApp checkContextcheckAssertioncheckDataHeadercheckClassHeadercheckInstHeader checkPattern checkExpr checkValDefcheckClassBody checkUnQual checkPrecmkRecConstrOrUpdate checkRevDeclsTokenVarIdQVarIdConIdQConIdVarSymConSymQVarSymQConSymIntTokFloatTok Character StringTok LeftParen RightParen SemiColon LeftCurly RightCurly VRightCurly LeftSquare RightSquareComma Underscore BackQuoteDotDotColon DoubleColonEquals BackslashBar LeftArrow RightArrowAtTilde DoubleArrowMinus ExclamationKW_CaseKW_ClassKW_Data KW_Default KW_DerivingKW_DoKW_Else KW_ForeignKW_If KW_ImportKW_InKW_Infix KW_InfixL KW_InfixR KW_InstanceKW_Let KW_Module KW_NewTypeKW_OfKW_ThenKW_TypeKW_WhereKW_As KW_Export KW_Hiding KW_QualifiedKW_Safe KW_UnsafeEOFlexer $fEqToken $fShowToken parseModuleparseModuleWithModeghc-prim GHC.TypesBoolTruepretty prettyPrecDocDocMrenderStyleMode$$$HappyStk