w:_      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portable experimentallibraries@haskell.orgportable experimentallibraries@haskell.org vThe 3 constructor represents a list comprehension, and  takes a []1. The result expression of the comprehension is & the *last* of these, and should be a .  E.g. [ f x | x <- xs ] is represented by D CompE [BindS (VarP x) (VarE xs), NoBindS (AppE (VarE f) (VarE x))] wxy|      !"#$%&'()*+,-./0123456789:: looks up information about the . ;; gives you the Location at which this  computation is spliced. <The < function lets you run an I/O computation in the y monad. 8 Take care: you are guaranteed the ordering of calls to < within  a single yB computation, but not about the order in which splices are run. DNote: for various murky reasons, stdout and stderr handles are not G necesarily flushed when the compiler finishes running, so you should  flush them yourself. =>?@ABCDEFGHIJK vwxy|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK0123456/y789:;<.CDFG"! vwx|     KJ(-,+*)$'&%# EIHAB=>?@ vwxy| .        "!  !"#$'&%%&'(-,+*))*+,-./0123456123456789:;<=>?@ABCDEFGHIJK  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_bcdefghijklmnopqrstuz{}~LMNOPQRSTUVWXYZ[\]^_`ab  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_bcdefghijklmnopqrstuz{}~LMNOPQRSTUVWXYZ[\]^_`abQz{P}~ONML  ^u:;<=RSTU98V\W]XY !"#$%&'(Z)*+,-.[/0123456\7?>B@ACDEVjknbocdeFhiIJKNOPQRTUStHGLMpqrsXWZ[Ylm_gf]^_`ab  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_bcdefghijklmnopqrstuz{}~LMNOPQRSTUVWXYZ[\]^_`ab`acdeff converts a value to a 'Q Exp' representation of the same ; value. It takes a function to handle type-specific cases. gg converts a value to a 'Q Pat' representation of the same ; value. It takes a function to handle type-specific cases. `acdefgcd`aefg`acd`adefg0hijklmReturns  if the document is empty nAn empty document oA ';' character pA ',' character qA : character rA space character sA '=' character tA '(' character uA ')' character vA '[' character wA ']' character xA '{' character yA '}' character z{|}~Wrap document in (...) Wrap document in [...] Wrap document in {...} Wrap document in '...' Wrap document in "..." Beside List version of  Beside, separated by space List version of  Above; if there is no  overlap it " dovetails" the two Above, without dovetailing. List version of  Either hcat or vcat Either hsep or vcat "Paragraph fill" version of cat "Paragraph fill" version of sep Nested  !hang d1 n d2 = sep [d1, nest n d2] punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn]-hijklmnopqrstuvwxyz{|}~-hinopqrstuvwxyz|{}~mljk-hijklmnopqrstuvwxyz{|}~"""")  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMOPQRSTUVWXYZ[\]^bcdefghijklmotuvwxyz{|}~     789:;<CDHIJKLMNOPQRSTUVWXYZ[\a)y789:;<CDIHvwx|     KJQz{P}~ONML   ^u:;<=RSTU98V\W]XY !"#$%&'(Z)*+,-.[a/0123456\7?>B@ACDEVjkbocdeFhiIJKOPQRTUStGHLMWXYZ[lmfg      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aabcdefghijklmnopqrstuvwxyz{|}~ftemplate-haskellLanguage.Haskell.TH.SyntaxLanguage.Haskell.TH.LibLanguage.Haskell.TH.Quote$Language.Haskell.TH.Syntax.InternalsLanguage.Haskell.TH.PprLibLanguage.Haskell.TH.PprLanguage.Haskell.THreturnQbindQ sequenceQliftnewNamemkName mkNameG_v mkNameG_d mkNameG_tcmkNameLcharLstringLintegerLintPrimL wordPrimL floatPrimL doublePrimL rationalL liftStringlitPvarPtupPconPtildePasPwildPrecPlistPsigPfieldPatmatchclausevarEconElitEappEinfixEinfixAppsectionLsectionRlamEtupEcondEletEcaseEdoEcompEfromE fromThenEfromToE fromThenToElistEsigErecConErecUpdEfieldExpguardedBnormalBbindSletSnoBindSparSfunDvalDdataDnewtypeDtySynDclassD instanceDsigDcxtisStrict notStrictnormalCrecCinfixC strictType varStrictTypeforallCforallTvarTconTappTtupleTarrowTlistTforImpDcCallstdCallunsafesafe threadsafenormalGEpatGEinfixPfunDepquoteExpquotePat familyNoKindD dataInstD newtypeInstD tySynInstDtypeFamdataFamclassPequalPpragInlD pragSpecDinlineSpecNoPhaseinlineSpecPhase pragSpecInlD familyKindDplainTVkindedTVstarKarrowKsigTbangPExpMatchClauseQExpQDecQPatMatchQClauseQStmtQConQTypeQTypeDecVarStrictTypeQ StrictTypeQFieldExpFieldPatNamePatQ FieldPatQ FieldExpQFunDepPredPredQ TyVarBndrOccNamePkgNameModNameKindArrowKStarKKindedTVPlainTVSigTAppTListTArrowTTupleTConTVarTForallT VarStrictType StrictTypeConForallCInfixCRecCNormalCStrict NotStrictIsStrictEqualPClassPCxt InlineSpecPragma SpecialisePInlinePSafety ThreadsafeSafeUnsafeCallconvStdCallCCallForeignExportFImportF FamFlavourDataFamTypeFam TySynInstD NewtypeInstD DataInstDFamilyDPragmaDForeignDSigD InstanceDClassDTySynDNewtypeDDataDValDFunDRange FromThenToRFromToR FromThenRFromRStmtParSNoBindSLetSBindSGuardPatGNormalGBodyNormalBGuardedBRecUpdERecConESigEListE ArithSeqECompEDoECaseELetECondETupELamEInfixEAppELitEConEVarESigPListPRecPWildPAsPBangPTildePInfixPConPTupPVarPLitPLit DoublePrimL FloatPrimL WordPrimLIntPrimL RationalLIntegerLStringLCharLFixityDirectionInfixNInfixRInfixLFixityInfoTyVarIVarIDataConI PrimTyConITyConIClassOpIClassICharPosLoc loc_filename loc_package loc_module loc_startloc_endNameIsInfixAppliedAloneUniq NameSpace TcClsNameDataNameVarName NameFlavourNameGNameLNameUNameQNameSLiftQuasiqNewNameqReportqRecoverqReify qLocationqRunIOrunQreportrecoverreifylocationrunIO mkModName modString mkPkgName pkgString mkOccName occStringnameBase nameModulemkNameUshowName showName' tupleDataName tupleTypeName maxPrecedence defaultFixity InlineSpecQRangeQGuardQBodyQCxtQInfoQfromR fromThenRfromToR fromThenToRnormalGpatGdyngloballam1E arithSeqEstringEcombinerenamegenpatalphaappsE simpleMatch QuasiQuoterdataToQa dataToExpQ dataToPatQDocPprMpprNamepprName' to_HPJ_DocisEmptyemptysemicommacolonspaceequalslparenrparenlbrackrbracklbracerbracetextptextcharintintegerfloatdoublerationalparensbracketsbracesquotes doubleQuotes<>hcat<+>hsep$$$+$vcatcatsepfcatfsepnesthang punctuatePprpprppr_list Precedence nestDepthappPrecopPrecnoPrecparensIfpprintppr_sig pprFixity pprInfixExppprExp pprFields pprMaybeExppprBodypprLitpprPatppr_decppr_data ppr_newtype ppr_tySynppr_activationpprVarStrictType pprStrictType pprParendTypepprTyApp pprFunArgTypesplitpprArrowArgKindpprCxt where_clause showtextlunQbadIOcountertrueName falseName nothingNamejustNameleftName rightName con_NameS con_NameQ con_NameU con_NameL con_NameGty_NameFlavourmkNameG mk_tup_namecmpEqthenCmprunPprMStateghc-primGHC.BoolTrue