^K\l      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkportable experimentallibraries@haskell.org ^_`adjknoptuvwxyz{|}~lmno looks up information about the p 1 gives you the name of the module in which this  computation is spliced. The  function lets you run an I/O computation in the a monad. 8 Take care: you are guaranteed the ordering of calls to  within  a single aB 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. pqrstuv     wx ^_`adjknoptuvwxyz{|}~     ap  k^~j{zyxwvu_`dno}|t     ^_`ad j{zyxwvuk noptuvwxyz{|}~     v  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]bcefghilmqrs !"#$v  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]bcefghilmqrs !"#$vqrbchiefgmls  \89:;76Z[ !"#$%&'()*+,-./012345=<@>?ABCTDGHILMNOPRSQFEJKVUXYW] !"#$v  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]bcefghilmqrs !"#$0%&yz{'()*Returns | if the document is empty +An empty document ,A ';' character -A ',' character .A : character /A space character 0A '=' character 1A '(' character 2A ')' character 3A '[' character 4A ']' character 5A '{' character 6A '}' character 789:;<=>?Wrap document in (...) @Wrap document in [...] AWrap document in {...} BWrap document in '...' CWrap document in "..." DBeside EList version of D FBeside, separated by space GList version of F HAbove; if there is no  overlap it " dovetails" the two IAbove, without dovetailing. JList version of H KEither hcat or vcat LEither hsep or vcat M"Paragraph fill" version of cat N"Paragraph fill" version of sep ONested P !hang d1 n d2 = sep [d1, nest n d2]Q punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn]-%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ-%&+,-./0123456798:;<=>?@ABCDFEGHIJLKNMOPQ*)'(-%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkRSTUVWXYZ[}\]^_`abcdefghijkVUXYWZ[RST\]^_`abcdefghijkRSTSTUVWXYZ[\]^_`abcdefghijk  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKMNOPQRSTUVWXYZ[\^_`abcdefghijklmnopqrtuvwxyz{~   #RST[^bcfap  k^~j{zyxwvu_`dnot bchiefgmlqr  \89:;76Z[ !"#$%&'()*+,#-./012345=<@>?ABCTDGHIMNOPRSQEFJKUVWXYRST[^bcf~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~zfev      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklgmnopqrstuvwx'yz{|}~template-haskellLanguage.Haskell.TH.SyntaxLanguage.Haskell.TH.LibLanguage.Haskell.TH.PprLibLanguage.Haskell.TH.PprLanguage.Haskell.THreturnQbindQ sequenceQliftnewNamemkName mkNameG_v mkNameG_d mkNameG_tcmkNameLcharLstringLintegerLintPrimL floatPrimL doublePrimL rationalLlitPvarPtupPconPtildePasPwildPrecPlistPsigPfieldPatmatchclausevarEconElitEappEinfixEinfixAppsectionLsectionRlamEtupEcondEletEcaseEdoEcompEfromE fromThenEfromToE fromThenToElistEsigErecConErecUpdEfieldExpguardedBnormalBbindSletSnoBindSparSfunDvalDdataDnewtypeDtySynDclassD instanceDsigDcxtisStrict notStrictnormalCrecCinfixC strictType varStrictTypeforallCforallTvarTconTappTtupleTarrowTlistTforImpDcCallstdCallunsafesafe threadsafenormalGEpatGEinfixPfunDepExpMatchClauseQExpQDecQPatMatchQClauseQStmtQConQTypeQTypeDecVarStrictTypeQ StrictTypeQFieldExpFieldPatNamePatQ FieldPatQ FieldExpQFunDepAppTListTArrowTTupleTConTVarTForallT VarStrictType StrictTypeConForallCInfixCRecCNormalCStrict NotStrictIsStrictCxtSafety ThreadsafeSafeUnsafeCallconvStdCallCCallForeignExportFImportFForeignDSigD InstanceDClassDTySynDNewtypeDDataDValDFunDRange FromThenToRFromToR FromThenRFromRStmtParSNoBindSLetSBindSGuardPatGNormalGBodyNormalBGuardedBRecUpdERecConESigEListE ArithSeqECompEDoECaseELetECondETupELamEInfixEAppELitEConEVarESigPListPRecPWildPAsPTildePInfixPConPTupPVarPLitPLit DoublePrimL FloatPrimLIntPrimL RationalLIntegerLStringLCharLFixityDirectionInfixNInfixRInfixLFixityInfoTyVarIVarIDataConI PrimTyConITyConIClassOpIClassINameIsInfixAppliedAloneUniq NameSpace TcClsNameDataNameVarName NameFlavourNameGNameLNameUNameQNameSOccNamePkgNameModNameLiftQuasiqNewNameqReportqRecoverqReifyqCurrentModuleqRunIOrunQreportrecoverreify currentModulerunIO mkModName modString mkPkgName pkgString mkOccName occStringnameBase nameModulemkNameUshowName showName' tupleDataName tupleTypeName maxPrecedence defaultFixityRangeQGuardQBodyQCxtQInfoQfromR fromThenRfromToR fromThenToRnormalGpatGdyngloballam1E arithSeqEstringEcombinerenamegenpatalphaappsE simpleMatchDocPprMpprNamepprName' to_HPJ_DocisEmptyemptysemicommacolonspaceequalslparenrparenlbrackrbracklbracerbracetextptextcharintintegerfloatdoublerationalparensbracketsbracesquotes doubleQuotes<>hcat<+>hsep$$$+$vcatcatsepfcatfsepnesthang punctuatePprpprppr_list Precedence nestDepthappPrecopPrecnoPrecparensIfpprint pprFixity pprInfixExppprExp pprFields pprMaybeExppprBodypprLitpprPatpprVarStrictType pprStrictType pprParendTypepprTyAppsplitpprCxt where_clause showtextlunQbadIOcountertrueName falseName nothingNamejustNameleftName rightNamemkNameGcmpEqthenCmprunPprMStateghc-primGHC.BoolTrueppr_sig