#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None+34579;<>CGINNone+34579;<>CGINNone+34579;<>CGINNone+34579;<>CGIN      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None+34579;<>CGIN None+34579;<>CGINqThis represents language extensions beyond Haskell 98 that are supported by GHC (it was taken from Cabal's Language.Haskell.Extension)J0List of the extensions known by the interpreter.M  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLI  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLNone+34579;<>CGINM  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHILJK None+34579;<>CGINM!Module names are _not_ filepaths.UKGhcExceptions from the underlying GHC API are caught and rethrown as this.Z.Version of the underlying ghc api. Values are:606 for GHC 6.6.x608 for GHC 6.8.x610 for GHC 6.10.xetc...AMNOPQRSTUVWXYZ7MNOPQRSTUVWXYZ$MNOPQRSTUVWXYZ None+34579;<>CGIN[8Get the annotations associated with a particular module.For example, given: R RBRACE-# ANN module (1 :: Int) #-LBRACE module SomeModule(g, h) where ... Then after using  loadModule to load SomeModule into scope: ( x <- getModuleAnnotations (as :: Int)  SomeModule) liftIO $ print x -- result is [1] \9Get the annotations associated with a particular functionFor example, given:  module SomeModule(g, h) where LBRACE-# ANN g (Just 1 :: Maybe Int) #-RBRACE g = f [f] LBRACE-# ANN h (Just 2 :: Maybe Int) #-RBRACE h = f Then after using  loadModule to bring SomeModule into scope:  x <- liftM concat $ mapM (getValAnnotations (as :: Maybe Int)) ["g","h"] liftIO $ print x -- result is [Just 2, Just 1] CThis can also work on data constructors and types with annotations.[\[\[\ None+34579;<>CGIN_Available options are:bde`WUse this function to set or modify the value of any option. It is invoked like this: 1set [opt1 := val1, opt2 := val2,... optk := valk]a!Retrieves the value of an option.b.Language extensions in use by the interpreter. Default is: [] (i.e. none, pure Haskell 98)c&List of extensions turned on when the -fglasgow-exts flag is usedd When set to True, every module in every available package is implicitly imported qualified. This is very convenient for interactive evaluation, but can be a problem in sandboxed environments (e.g.   is in scope).Default value is True.<Observe that due to limitations in the GHC-API, when set to FalseE, the private symbols in interpreted modules will not be in scope.e~The search path for source files. Observe that every time it is set, it overrides the previous search path. The default is ["."].*Keep in mind that by a limitation in ghc, "." is always in scope.]^_`abcdefg[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ]^_`abcdefg]^_`abcdefgNone+34579;<>CGINlIAn Id for a class, a type constructor, a data constructor, a binding, etcodGets an abstract representation of all the entities exported by the module. It is similar to the :browse command in GHCi. hijklmnohijklmnohijklmnoNone+34579;<>CGINNone+34579;<>CGINpTries to load all the requested modules from their source file. Modules my be indicated by their ModuleName (e.g. "My.Module") or by the full path to its source file.The interpreter is v? both before loading the modules and in the event of an error. IMPORTANTm: Like in a ghci session, this will also load (and interpret) any dependency that is not available via an installed package. Make sure that you are not loading any module that is also being used to compile your application. In particular, you need to avoid modules that define types that will later occur in an expression that you will want to interpret.pThe problem in doing this is that those types will have two incompatible representations at runtime: 1) the one in the compiled code and 2) the one in the interpreted code. When interpreting such an expression (bringing it to program-code) you will likely get a segmentation fault, since the latter representation will be used where the program assumes the former.The rule of thumb is: never make the interpreter run on the directory with the source code of your program! If you want your interpreted code to use some type that is defined in your program, then put the defining module on a library and make your program depend on that package.q+Returns True if the module was interpreted.r(Returns the list of modules loaded with p.sSets the modules whose context is used during evaluation. All bindings of these modules are in scope, not only those exported.1Modules must be interpreted to use this function.t2Sets the modules whose exports must be in context. Warning: t and u are mutually exclusive. If you have a list of modules to be used qualified and another list unqualified, then you need to do something like ? setImportsQ ((zip unqualified $ repeat Nothing) ++ qualifieds)uZSets the modules whose exports must be in context; some of them may be qualified. E.g.:setImportsQ [(Prelude , Nothing), (Data.Map, Just M)].BHere, "map" will refer to Prelude.map and "M.map" to Data.Map.map. works like v?, but skips the loading of the support module that installs _showR. Its purpose is to clean up all temporary files generated for phantom modules.vjAll imported modules are cleared from the context, and loaded modules are unloaded. It is similar to a :loadW in GHCi, but observe that not even the Prelude will be in context after a reset.pqrstuvMpqrstuvpqrstuvNone+34579;<>CGINwiThe installed version of ghc is not thread-safe. This exception is thrown whenever you try to execute runInterpreter. while another instance is already running.{"Executes the interpreter. Returns Left InterpreterError in case of error.NB. The underlying ghc will overwrite certain signal handlers (SIGINT, SIGHUP, SIGTERM, SIGQUIT on Posix systems, Ctrl-C handler on Windows). In future versions of hint, this might be controlled by the user.aExecutes the interpreter, setting args passed in as though they were command-line args. Returns Left InterpreterError in case of error.wxyz{     wxyz{wxyz{     None+34579;<>CGIN|1Set a GHC option for the current session, eg. 0unsafeSetGhcOption "-XNoMonomorphismRestriction".>Warning: Some options may interact badly with the Interpreter.}Executes the interpreter, setting the args as though they were command-line args. In particular, this means args that have no effect with :set in ghci might function properly from this context.>Warning: Some options may interact badly with the Interpreter.|}|}|}|}None+34579;<>CGIN|}None+34579;<>CGINNone+34579;<>CGINNone+34579;<>CGIN~>Returns a string representation of the type of the expression.$Tests if the expression type checks.CReturns a string representation of the kind of the type expression.~~~None+34579;<>CGIN&Convenience functions to be used with  interpret" to provide witnesses. Example: *interpret "head [True,False]" (as :: Bool) Ninterpret "head $ map show [True,False]" infer >>= flip interpret (as :: Bool)&Convenience functions to be used with  interpret" to provide witnesses. Example: *interpret "head [True,False]" (as :: Bool) Ninterpret "head $ map show [True,False]" infer >>= flip interpret (as :: Bool)BEvaluates an expression, given a witness for its monomorphic type. eval expr will evaluate  show expr. It will succeed only if expr has type t and there is a  instance for t.Conceptually, parens s = "(" ++ s ++ ")"b, where s is any valid haskell expression. In practice, it is harder than this. Observe that if s$ ends with a trailing comment, then parens s would be a malformed expression. The straightforward solution for this is to put the closing parenthesis in a different line. However, now we are messing with the layout rules and we don't know where s" is going to be used! Solution: 1parens s = "(let {foo =n" ++ s ++ "\n ;} in foo)" where foo does not occur in s BSD-stylemvdan@mvdan.cc experimentalnon-portable (GHC API)None+34579;<>CGIN !"  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{~VWXYyz{_]^a`bJc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIdefgMqprstuvhijklmno[\~QRSTUNOPwxZNone+34579;<>CGIN !"  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{~#         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g g h i j k l m n o p q r s t u v w x y z { | } ~ q      ! "#"$"%"&"'"(")"*+,-.-/0102343536373833393:;<;=;>;?;@;A;B;C;D;E;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;v;w;x;y;z;{;|;|}~}}}}}}}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvvwxyz{|}~F      !"##$%&'()*+,-./01234567899:;<=>??@ABCDEFGHIJJKLMNOPQRSTUVWWXYZ[\]^_`abcddefghhijklmnnopqrstuvvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE"FGHHIJKLMNOPQRSTUUVWXYZ[\]^_`abcdefegeheijkjljmjnjojpjqjrjsjtjujvjwjxyzy{y|}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}6}}}}}}}}}}}}}}}}}}}}}}________ _ _ _ _ __________`____ !"#$%$&$'$($)$*$$$$$+$,$-./.01234565758595:5;5<5=5>?@?A?B?C?D?E?F?G?H?I?J?K?L?MNOPQRSTSUSVSSWXYXZX[X\X]X^X_X_`a`b`c`d`e`f`g`h`i`j`k`l`m`n`o`p`q`r`s`t`u`v`w`x`y`z`{`|`}`~``````````````````````````````````````````````````````````````````???5.5551      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/M///O/P/Q/P/R/S/T/UVWXWYWZW[\]^_`a`b`c`d`e`f`g`h`i``jklmnonpnqnrnsntnunnnvnwnxnynmz{z|z}~f`11YL]D   cab                                                    w        ].     hint_HA2vaz7tUzlC6ESrET2k5o&Language.Haskell.Interpreter.ExtensionLanguage.Haskell.Interpreter#Language.Haskell.Interpreter.UnsafeHint.SignalHandlers Hint.UtilHint.CompatPlatformHint.GHC Hint.CompatHint.Extension Hint.BaseHint.AnnotationsHint.Configuration System.UnsafeunsafePerformIOHint.ReflectionHint.Conversions Hint.ContextHint.InterpreterT'Language.Haskell.Interpreter.GHC.Unsafe Hint.Parsers Hint.SandboxHint.Typecheck Hint.Eval Language.Haskell.Interpreter.GHC ExtensionOverlappingInstancesUndecidableInstancesIncoherentInstancesDoRec RecursiveDoParallelListCompMultiParamTypeClassesNoMonomorphismRestrictionFunctionalDependencies Rank2Types RankNTypesPolymorphicComponentsExistentialQuantificationScopedTypeVariablesImplicitParamsFlexibleContextsFlexibleInstancesEmptyDataDeclsCPPKindSignatures BangPatternsTypeSynonymInstancesTemplateHaskellForeignFunctionInterfaceArrowsGenericsNoImplicitPreludeNamedFieldPuns PatternGuardsGeneralizedNewtypeDerivingExtensibleRecordsRestrictedTypeSynonyms HereDocuments MagicHash TypeFamiliesStandaloneDeriving UnicodeSyntaxPatternSignaturesUnliftedFFITypesLiberalTypeSynonyms TypeOperatorsRecordWildCards RecordPunsDisambiguateRecordFieldsOverloadedStringsGADTsNoMonoPatBindsRelaxedPolyRecExtendedDefaultRules UnboxedTuplesDeriveDataTypeableConstrainedClassMethodsPackageImportsImpredicativeTypesNewQualifiedOperatorsPostfixOperators QuasiQuotesTransformListComp ViewPatterns XmlSyntaxRegularPatterns TupleSectionsGHCForeignImportPrimNPlusKPatternsDoAndIfThenElseRebindableSyntaxExplicitForAllDatatypeContextsMonoLocalBinds DeriveFunctorDeriveTraversableDeriveFoldableUnknownExtensionavailableExtensions asExtensionknownExtensions ModuleNameGhcErrorerrMsgInterpreterError UnknownError WontCompile NotAllowed GhcExceptionMonadInterpreter fromSessionmodifySessionRefrunGhc ghcVersiongetModuleAnnotationsgetValAnnotations OptionVal:=OptionsetgetlanguageExtensionsglasgowExtensionsinstalledModulesInScope searchPathsetUseLanguageExtensions#setInstalledModsAreInScopeQualified ModuleElemFunClassDataIdnamechildrengetModuleExports loadModulesisModuleInterpretedgetLoadedModulessetTopLevelModules setImports setImportsQresetMultipleInstancesNotAllowed InterpreterT InterpreterrunInterpreterunsafeSetGhcOptionunsafeRunInterpreterWithArgstypeOf typeCheckskindOfasinfer interpretevalparenshelpersignals saveHandlersrestoreHandlersprotectHandlersExpr safeBndFor partitionpartitionEither>=>quotegetPIDMessageghcGHCparser lookupNameobtainTermFromIdobtainTermFromValgetHistorySpan setGHCiMonadmoduleTrustReqsisModuleTrusted lookupModule findModuleshowRichTokenStreamaddSourceToTokensgetRichTokenStreamgetTokenStreampprParenSymName dataConTypegetGREfindGlobalAnnslookupGlobalName isDictonaryIdmodInfoModBreaks modInfoSafe modInfoIfacemodInfoLookupNamemkPrintUnqualifiedForModulemodInfoIsExportedNamemodInfoInstancesmodInfoExportsmodInfoTopLevelScopemodInfoTyThings getModuleInfogetPrintUnqualgetInsts getBindingsisLoadedneedsTemplateHaskellgetModuleGraphcompileToCoreSimplifiedcompileToCoreModule loadModule desugarModuletypecheckModule parseModule getModSummaryworkingDirectoryChanged guessTarget removeTarget addTarget getTargets setTargetsparseDynamicFlagsgetInteractiveDynFlagssetInteractiveDynFlagsgetProgramDynFlagssetProgramDynFlagssetSessionDynFlags initGhcMonaddefaultCleanupHandlerdefaultErrorHandler parsedSource ParsedMod moduleInfotypecheckedSource renamedSourceTypecheckedMod coreModulepm_annotationspm_extra_src_filespm_parsed_sourcepm_mod_summary ParsedModule tm_internals_tm_checked_module_infotm_typechecked_sourcetm_renamed_sourcetm_parsed_moduleTypecheckedModuledm_core_moduledm_typechecked_moduleDesugaredModule ParsedSource RenamedSourceTypecheckedSourcecm_safecm_bindscm_types cm_module CoreModule ModuleInfoInteractiveEvalreconstructType showModuledynCompileExpr compileExprtypeKindexprType parseNamegetRdrNamesInScopegetNamesInScopegetInfomoduleIsInterpreted getContext setContext abandonAllabandonforwardbackresumeparseImportDeclrunDeclsWithLocationrunDeclsrunStmtWithLocationrunStmtgetHistoryModulegetResumeContextRunAndLogSteps SingleStepRunToCompletionGhcMakecyclicModuleErrtopSortModuleGraphloaddepanalLoadDependenciesOfLoadUpToLoadAllTargets LoadHowMuch TcRnDriverrunTcInteractiveParser parseType parseStmt PprTyThingpprTypeForUser pprFamInstGhcMonaddefaultWarnErrLoggerprintExceptiongetSessionDynFlags setSession getSessionGhc WarnErrLoggerHscTypes ms_mod_namehandleSourceErrorsrcErrorMessages SourceError GhcApiErrorHscEnvtargetContentstargetAllowObjCodetargetIdTarget TargetFile TargetModuleTargetId mi_trust_pkgmi_trustmi_hpc mi_hash_fn mi_fix_fn mi_warn_fn mi_vect_infomi_orphan_hashmi_rules mi_fam_instsmi_insts mi_globalsmi_declsmi_annsmi_warns mi_fixities mi_used_th mi_exp_hash mi_exports mi_usagesmi_depsmi_boot mi_finsts mi_orphan mi_flag_hash mi_mod_hash mi_iface_hash mi_sig_of mi_moduleModIfaceIIModuleIIDeclInteractiveImport ModuleGraph ms_hspp_buf ms_hspp_opts ms_hspp_filems_textual_imps ms_srcimps ms_iface_date ms_obj_date ms_hs_date ms_location ms_hsc_srcms_mod ModSummary BreakIndexmodBreaks_declsmodBreaks_varsmodBreaks_locsmodBreaks_flags ModBreaksHsSynhsmodHaddockModHeaderhsmodDeprecMessage hsmodDecls hsmodImports hsmodExports hsmodNameHsModuleHsUtils lPatImplicitshsValBindsImplicitslStmtsImplicitshsDataFamInstBindershsPatSynBindershsForeignDeclsBindershsLTyClDeclBindershsTyClForeignBindershsGroupBinderscollectPatsBinderscollectPatBinderscollectStmtBinderscollectLStmtBinderscollectStmtsBinderscollectLStmtsBinderscollectMethodBinderscollectHsBindListBinderscollectHsBindsBinderscollectHsBindBinderscollectHsValBinderscollectHsIdBinderscollectLocalBindersmkMatchmk_easy_FunBind mkPatSynBind mkVarBind mkHsVarBind mkTopFunBind mkFunBind mkHsDictLet mkHsWrapPatCo mkHsWrapPat coToHsWrapper mkHsCmdCast mkLHsWrapCo mkHsWrapCoR mkHsWrapComkHsWrap mkLHsWraptoHsKindtoHsType missingTupArg nlTuplePat mkLHsVarTuplemkLHsTupleExpr nlHsTyConApp nlHsFunTy nlHsTyVar nlHsAppTynlListnlHsCasenlHsIfnlHsParnlHsLam nlHsOpAppnlHsDo nlWildPatId nlWildPatName nlWildPat nlWildConPatnlNullaryConPat nlConPatNamenlConPat nlInfixConPat nlConVarPat nlHsVarAppsnlHsApps nlHsIntLitnlHsAppnlLitPatnlVarPatnlHsLitnlHsVaruserHsTyVarBndrs mkHsStringunqualQuasiQuotemkHsQuasiQuote mkHsSpliceTy mkHsSpliceTE mkHsSpliceE mkHsSplice mkHsOpApp mkRecStmtemptyRecStmtIdemptyRecStmtName emptyRecStmt mkBindStmt mkBodyStmt mkLastStmtmkGroupByUsingStmtmkGroupUsingStmtmkTransformByStmtmkTransformStmtemptyTransStmt mkNPlusKPatmkNPatmkHsIfmkHsCompmkHsDonoRebindableInfo mkHsIsStringmkHsFractional mkHsIntegralmkParPatmkLHsPar nlHsTyApps nlHsTyApp mkSimpleHsAlt mkHsConAppmkHsLamsmkHsLammkHsApp mkHsAppTymkMatchGroupName mkMatchGroup unguardedRHSunguardedGRHSs mkSimpleMatchmkHsParHsExpr pprStmtInCtxtpprMatchInCtxtmatchContextErrStringpprStmtContextpprAStmtContextpprMatchContextNounpprMatchContextmatchSeparatorisMonadCompExprisListCompExpr pp_dotdot thTyBrackets thBrackets pprHsBracketisTypedBracket pprSplicepprTypedSplicepprQualspprComp ppr_do_stmtspprDopprBy pprTransStmtpprTransformStmtpprStmtpp_rhspprGRHSpprGRHSspprMatch pprMatches hsLMatchPatsmatchGroupArityisEmptyMatchGroup pprCmdArgppr_cmdppr_lcmd isQuietHsCmdpprCmdpprLCmdisAtomicHsExprhsExprNeedsParens pprParendExprpprDebugParendExprppr_expr ppr_lexprpprBinds isQuietHsExpr tupArgPresent noSyntaxExpr noPostTcTable noPostTcExpr PostTcExpr PostTcTableCmdSyntaxTable HsUnboundVarHsWrapHsTypeELazyPatEViewPatEAsPatEWildPat HsTickPragma HsBinTickHsTick HsArrFormHsArrAppHsStaticHsProc HsQuasiQuoteE HsSpliceEHsTcBracketOutHsRnBracketOut HsBracket HsCoreAnnHsSCCPArrSeqArithSeqExprWithTySigOut ExprWithTySig RecordUpd RecordCon ExplicitPArr ExplicitListHsDoHsLet HsMultiIfHsIfHsCase ExplicitTupleSectionRSectionLHsParNegAppOpAppHsApp HsLamCaseHsLamHsLit HsOverLitHsIPVarHsVar LHsTupArgMissingPresentHsTupArgLHsCmd HsCmdCastHsCmdDoHsCmdLetHsCmdIf HsCmdCaseHsCmdParHsCmdLamHsCmdApp HsCmdArrForm HsCmdArrAppHsFirstOrderAppHsHigherOrderApp HsArrAppType LHsCmdTopHsCmdTop HsRecordBinds mg_origin mg_res_ty mg_arg_tysmg_altsMGLMatchm_grhssm_typem_patsm_fun_id_infixMatchgrhssLocalBinds grhssGRHSsGRHSsLGRHSGRHSLStmtLStmtLRStmtCmdLStmtCmdStmt ExprLStmtExprStmt GuardLStmt GuardStmt GhciLStmtGhciStmt recS_ret_ty recS_rec_retsrecS_later_rets recS_mfix_fn recS_ret_fn recS_bind_fn recS_rec_idsrecS_later_ids recS_stmtsRecStmttrS_fmaptrS_bindtrS_rettrS_by trS_using trS_bndrs trS_stmtstrS_form TransStmtParStmtLetStmtBodyStmtBindStmtLastStmtStmtLR GroupFormThenForm TransForm ParStmtBlockHsSplice PendSplice PendingSplicePendingRnCrossStageSplicePendingRnDeclSplicePendingRnTypeSplicePendingRnPatSplicePendingRnExpSplicePendingRnSplicePendingTcSpliceTExpBrVarBrTypBrDecBrGDecBrLPatBrExpBr FromThenToFromToFromThenFrom ArithSeqInfoPatSyn ThPatQuote ThPatSpliceStmtCtxtRecUpd PatBindRhsProcExprIfAltCaseAlt LambdaExprFunRhsHsMatchContext TransStmtCtxt ParStmtCtxtPatGuard GhciStmtCtxt ArrowExprMDoExprDoExprPArrComp MonadCompListComp HsStmtContextHsDeclsroleAnnotDeclNameannProvenanceName_maybe docDeclDoc lvectInstDecl lvectDeclNamecollectRuleBndrSigTysflattenRuleDeclsnoForeignExportCoercionYetnoForeignImportCoercionYetinstDeclDataFamInstspprDataFamInstFlavourhsConDeclArgTyspprTyClDeclFlavourfamDeclHasCusk hsDeclHasCuskcountTyClDeclstyClDeclTyVarstcdName tyClDeclLNametyFamInstDeclLNametyFamInstDeclNameisDataFamilyDeclisClosedTypeFamilyInfoisOpenTypeFamilyInfoisTypeFamilyDecl isFamilyDecl isClassDecl isSynDecl isDataDecl mkTyClGrouptyClGroupConcat appendGroups emptyRnGroup emptyRdrGroupLHsDecl RoleAnnotD QuasiQuoteDDocDSpliceDVectDRuleDAnnDWarningDForDDefDSigDValDDerivDInstDTyClDHsDeclhs_docshs_vects hs_ruledshs_annds hs_warndshs_fordshs_defdshs_fixds hs_derivds hs_instds hs_tyclds hs_splcdshs_valdsHsGroupImplicitSpliceExplicitSpliceSpliceExplicitFlag LSpliceDecl SpliceDecl LTyClDecltcdDocs tcdATDefstcdATstcdMethstcdSigstcdFDstcdCtxt ClassDecl tcdDataDefnDataDecltcdFVstcdRhs tcdTyVarstcdLNameSynDecltcdFamFamDeclTyClDecl group_roles group_tyclds TyClGroup LFamilyDecl fdKindSigfdTyVarsfdLNamefdInfo FamilyDeclClosedTypeFamilyOpenTypeFamily DataFamily FamilyInfo dd_derivsdd_cons dd_kindSigdd_cTypedd_ctxtdd_ND HsDataDefnDataTypeNewType NewOrDataLConDecl con_old_reccon_doccon_res con_detailscon_cxt con_qvars con_explicit con_namesConDeclHsConDeclDetails ResTyGADTResTyH98ResType LTyFamInstEqnLTyFamDefltEqnHsTyPats TyFamInstEqn TyFamDefltEqntfe_rhstfe_pats tfe_tyconTyFamEqnLTyFamInstDecltfid_fvstfid_eqn TyFamInstDeclLDataFamInstDecldfid_fvs dfid_defn dfid_pats dfid_tyconDataFamInstDecl LClsInstDeclcid_overlap_modecid_datafam_instscid_tyfam_instscid_sigs cid_binds cid_poly_ty ClsInstDecl LInstDecl tfid_inst TyFamInstD dfid_inst DataFamInstDcid_instClsInstDInstDecl LDerivDeclderiv_overlap_mode deriv_type DerivDecl LDefaultDecl DefaultDecl LForeignDecl ForeignExport ForeignImport ForeignDeclCImportCWrapper CFunctionCLabel CImportSpecCExport LRuleDecls rds_rulesrds_srcHsRules RuleDecls LRuleDeclHsRuleRuleDecl LRuleBndr RuleBndrSigRuleBndr LVectDecl HsVectInstOut HsVectInstInHsVectClassOut HsVectClassIn HsVectTypeOut HsVectTypeInHsNoVectHsVectVectDeclLDocDeclDocGroupDocCommentNamedDocCommentPrevDocCommentNextDocDecl LWarnDecls wd_warningswd_srcWarnings WarnDecls LWarnDeclWarningWarnDeclLAnnDecl HsAnnotationAnnDeclModuleAnnProvenanceTypeAnnProvenanceValueAnnProvenance AnnProvenanceLRoleAnnotDecl RoleAnnotDeclHsPathsPatNeedsParensisIrrefutableHsPatlooksLazyPatBindisStrictHsBind isStrictLPat mkCharLitPatmkNilPatmkPrefixConPat pprConArgs pprParendLPat hsRecFields hsConPatArgsInPatOutPatCoPat SigPatOutSigPatIn NPlusKPatNPatLitPat QuasiQuotePat SplicePatViewPatpat_wrappat_args pat_binds pat_dictspat_tvs pat_arg_tyspat_con ConPatOutConPatInPArrPatTuplePatListPatBangPatParPatAsPatLazyPatVarPatWildPatInfixConRecCon PrefixCon HsConDetailsHsConPatDetails rec_dotdotrec_flds HsRecFields LHsRecFieldhsRecPun hsRecFieldArg hsRecFieldId HsRecFieldHsBinds pprMinimalSigpprTcSpecPragspprSpec pprVarSig pragBrackets pprPatSynSigppr_sighsSigDoc isMinimalLSig isInlineLSig isPragLSigisSpecInstLSig isSpecLSig isTypeLSig isVanillaLSig isFixityLSigisDefaultMethod hasSpecPrags noSpecPragsisEmptyIPBindspprTicks ppr_monobindgetTypeSigNamesplusHsValBindsisEmptyLHsBinds emptyLHsBindsemptyValBindsOutemptyValBindsInisEmptyValBindsisEmptyLocalBindsemptyLocalBinds pprDeclListpprLHsBindsForUser pprLHsBinds HsLocalBindsEmptyLocalBinds HsIPBinds HsValBindsHsLocalBindsLR ValBindsOut ValBindsIn HsValBindsLRLHsBindLHsBindsHsBind LHsBindsLR LHsBindLR PatSynBind abs_binds abs_ev_binds abs_exports abs_ev_varsabs_tvsAbsBinds var_inlinevar_rhsvar_idVarBind pat_ticks pat_rhs_typat_rhspat_lhsPatBindfun_tickbind_fvs fun_co_fn fun_matches fun_infixfun_idFunBindHsBindLR abe_pragsabe_wrapabe_monoabe_polyABEABExportpsb_dirpsb_defpsb_argspsb_fvspsb_idPSBIPBindsLIPBindIPBindLSig MinimalSig SpecInstSigSpecSig InlineSigFixSigIdSig GenericSig PatSynSigTypeSigSig LFixitySig FixitySig SpecPragsIsDefaultMethod TcSpecPrags LTcSpecPragSpecPrag TcSpecPrag PrefixPatSyn InfixPatSynHsPatSynDetailsExplicitBidirectionalImplicitBidirectionalUnidirectional HsPatSynDir FamInstEnvFamInstInstEnvpprInstanceHdr pprInstanceinstanceDFunIdClsInstInteractiveEvalTypesRunBreak RunExceptionRunOk RunResultresumeHistoryIx resumeHistory resumeSpanresumeBreakInforesumeThreadId resumeStmtResumehistoryEnclosingDeclshistoryBreakInfoHistory ByteCodeInstrbreakInfo_numberbreakInfo_module BreakInfoHsTypespprParendHsTypepprConDeclFieldspprHsContextMaybepprHsContextNoArrow pprHsContextpprHsForAllExtra pprHsForAllsplitHsFunTypesplitLHsClassTy_maybesplitHsClassTy_maybesplitLHsInstDeclTy_maybe mkHsAppTyshsTyGetAppHead_maybe splitHsAppTysisNamedWildcardTy isWildcardTyhsLTyVarLocNameshsLTyVarLocNamehsLKiTyVarNames hsLTyVarNames hsLTyVarName hsTyVarName hsExplicitTvsflattenHsForAllTyKeepAnnsflattenTopLevelHsForAllTyflattenTopLevelLHsForAllTymkQualifiedHsForAllTymkExplicitHsForAllTymkImplicitHsForAllTymkHsOpTyhsTvbAllKindedisHsKindedTyVar hsIPNameFS mkHsWithBndrs hsQTvBndrsmkHsQTvsgetBangStrictness getBangType HsQuasiQuote LBangTypeBangType LHsContext HsContextLHsTypeHsKindLHsKind LHsTyVarBndrhsq_tvshsq_kvsHsQTvs LHsTyVarBndrshswb_wcshswb_tvshswb_kvshswb_ctsHsWB HsWithBndrsHsIPName KindedTyVar UserTyVar HsTyVarBndrHsNamedWildcardTy HsWildcardTyHsWrapTyHsTyLitHsExplicitTupleTyHsExplicitListTyHsCoreTyHsRecTyHsBangTyHsDocTy HsSpliceTyHsQuasiQuoteTy HsKindSigHsEqTy HsIParamTyHsParTyHsOpTy HsTupleTyHsPArrTyHsListTyHsFunTyHsAppTyHsTyVar HsForAllTyHsStrTyHsNumTyWpKiApps HsTyWrapperLHsTyOpHsTyOpHsBoxedOrConstraintTupleHsConstraintTuple HsBoxedTupleHsUnboxedTuple HsTupleSortExplicitImplicit QualifiedHsExplicitFlag LConDeclField cd_fld_doc cd_fld_type cd_fld_names ConDeclField isBottomingId isDeadBinder isImplicitId idDataConisDataConWorkId isFCallId isPrimOpIdisClassOpId_maybeisRecordSelectorrecordSelectorFieldLabelidTypeDataCondataConUserType dataConSigdataConSrcBangsdataConFieldLabelsdataConIsInfixisMarkedStrictHsStrictHsUnpack HsSrcBangHsNoBangHsBang HsImplBangNotMarkedStrict MarkedStrictStrictnessMark overLitType HsDoublePrim HsFloatPrimHsRat HsInteger HsWord64Prim HsInt64Prim HsWordPrim HsIntPrimHsInt HsStringPrimHsString HsCharPrimHsCharol_type ol_witness ol_rebindableol_valOverLit HsIsString HsFractional HsIntegral OverLitValpprLExprpprExprpprUntypedSplice pprPatBind pprFunBindHsCmd MatchGroupLHsExpr SyntaxExprPatLPat PlaceHolderplaceHolderNamesTcplaceHolderNamesplaceHolderTypeTcplaceHolderTypeplaceHolderFixityplaceHolderKindPostTcPostRnDataIdTypesplitForAllTys funResultTyKindsynTyConResKindTysPrim alphaTyVarsTypeRep pprTypeApp pprForAllpprThetaArrowTy pprParendType ThetaTypeACoAxiomATyConAConLikeAnIdTyContyConClass_maybe isClassTyConsynTyConRhs_maybesynTyConDefn_maybe tyConDataConsisOpenTypeFamilyTyConisTypeFamilyTyConisOpenFamilyTyCon isFamilyTyConisTypeSynonymTyCon isNewTyCon isPrimTyCon tyConTyVars tyConArity pprFundeps classTvsFdsclassATs classMethods classSCThetaVar isExportedId isGlobalId isLocalIdTyVarLexermkPStateTokenPFailedPOk ParseResultunPP ApiAnnotationgetAndRemoveAnnotationCommentsgetAnnotationCommentsgetAndRemoveAnnotation getAnnotationApiAnns AnnEofPos AnnRarrowtail AnnLarrowtail Annrarrowtail AnnlarrowtailAnnWhereAnnVbar AnnValStrAnnValAnnUsingAnnUnitAnnType AnnTildehshAnnTilde AnnThTyQuoteAnnThIdTySplice AnnThIdSpliceAnnThen AnnStaticAnnSimpleQuoteAnnSemiAnnSafeAnnRoleAnnRec AnnRarrow AnnQualifiedAnnProc AnnPatternAnnPackageNameAnnOpenS AnnOpenPTE AnnOpenPEAnnOpenPAnnOpenCAnnOpenAnnOfAnnName AnnNewtype AnnModuleAnnMinusAnnMdoAnnLet AnnLarrowAnnLam AnnInstanceAnnInfixAnnIn AnnImportAnnIf AnnHiding AnnHeaderAnnGroupAnnFunId AnnForeign AnnForall AnnFamily AnnExportAnnEqualAnnElse AnnDotdotAnnDotAnnDo AnnDeriving AnnDefault AnnDcolonAnnData AnnDarrow AnnCommaTupleAnnCommaAnnColon AnnCloseS AnnCloseP AnnCloseCAnnCloseAnnClassAnnCaseAnnBy AnnBackquoteAnnBangAnnAtAnnAs AnnKeywordIdAnnBlockCommentAnnLineCommentAnnDocOptionsOld AnnDocOptions AnnDocSectionAnnDocCommentNamedAnnDocCommentPrevAnnDocCommentNextAnnotationCommentRdrNameQualUnqualConLike RealDataCon dataConTyConisVanillaDataCon isFunTyConNameisExternalName nameSrcSpangetName getOccName NamedThingTyThingPredType BreakArraygetBreak setBreakOff setBreakOnErrUtilsprettyPrintGhcErrorspprErrMsgBagWithLocHsImpExp pprImpExpieNamesieNamesimpleImportDecl LImportDecl ideclHidingideclAs ideclImplicitideclQualified ideclSafe ideclSource ideclPkgQual ideclNameideclSourceSrc ImportDeclLIE IEDocNamedIEDocIEGroupIEModuleContents IEThingWith IEThingAll IEThingAbsIEVarIEDynFlagsxFlagssupportedLanguagesAndExtensionsxoptgoptdefaultObjectTarget Opt_DebugOpt_PackageTrustOpt_DistrustAllPackagesOpt_BuildDynamicTooOpt_KeepLlvmFilesOpt_KeepRawTokenStreamOpt_KeepTmpFilesOpt_KeepSFilesOpt_KeepHcFilesOpt_KeepHiDiffsOpt_ImplicitImportQualifiedOpt_AutoLinkPackagesOpt_SuppressUniquesOpt_SuppressTypeSignaturesOpt_SuppressIdInfoOpt_SuppressTypeApplicationsOpt_SuppressModulePrefixesOpt_SuppressVarKindsOpt_SuppressCoercionsOpt_PprShowTicksOpt_PprCaseAsLetOpt_ErrorSpansOpt_SimplPreInlining Opt_FlatCacheOpt_HpcOpt_RelativeDynlibPaths Opt_RPath Opt_StaticOpt_Ticky_Dyn_Thunk Opt_Ticky_LNEOpt_Ticky_Allocd Opt_TickyOpt_SccProfilingOnOpt_PICOpt_GranMacros Opt_ParallelOpt_DeferTypedHolesOpt_DeferTypeErrorsOpt_HelpfulErrorsOpt_GhciHistoryOpt_GhciSandboxOpt_IgnoreDotGhciOpt_BuildingCabalPackageOpt_SharedImplibOpt_EmitExternalCoreOpt_EmbedManifestOpt_GenManifestOpt_PrintBindContentsOpt_PrintEvldWithShowOpt_BreakOnErrorOpt_BreakOnExceptionOpt_Hpc_No_AutoOpt_HaddockOptions Opt_HaddockOpt_PrintBindResultOpt_HideAllPackages Opt_StgStats Opt_SplitObjs Opt_NoHsMainOpt_EagerBlackHolingOpt_ExcessPrecisionOpt_ForceRecompOpt_PpOpt_ProfCountEntriesOpt_AutoSccsOnIndividualCafsOpt_WriteInterfaceOpt_ExposeAllUnfoldingsOpt_OmitInterfacePragmasOpt_IgnoreInterfacePragmasOpt_LoopificationOpt_DmdTxDictSelOpt_DictsStrictOpt_FunToThunkOpt_SimpleListLiteralsOpt_OmitYieldsOpt_CmmElimCommonBlocks Opt_CmmSinkOpt_IrrefutableTuplesOpt_LlvmPassVectorsInRegisters Opt_LlvmTBAAOpt_PedanticBottomsOpt_RegsIterative Opt_RegsGraphOpt_VectorisationAvoidance Opt_VectoriseOpt_EnableRewriteRulesOpt_DictsCheapOpt_UnboxSmallStrictFieldsOpt_UnboxStrictFields Opt_CaseMergeOpt_DoEtaReductionOpt_IgnoreAssertsOpt_DoLambdaEtaExpansionOpt_SpecConstrOpt_LiberateCaseOpt_CSE Opt_StaticArgumentTransformationOpt_SpecialiseAggressivelyOpt_Specialise Opt_FloatInOpt_FullLazinessOpt_KillOneShotOpt_KillAbsenceOpt_LateDmdAnalOpt_Strictness Opt_CallArityOpt_PrintExplicitKindsOpt_PrintExplicitForallsOpt_WarnIsErrorOpt_NoLlvmManglerOpt_DoAnnotationLintingOpt_DoAsmLintingOpt_DoCmmLintingOpt_DoStgLintingOpt_DoCoreLintingOpt_D_dump_minimal_importsOpt_D_faststring_statsOpt_DumpToFile GeneralFlagSf_SafeSf_Trustworthy Sf_UnsafeSf_NoneSafeHaskellModemaxInlineMemsetInsnsmaxInlineMemcpyInsnsmaxInlineAllocSizertccInfortldInfoavx512pfavx512favx512eravx512cdavx2avx sseVersionnextWrapperNum llvmVersioninteractivePrintprofAuto traceLevel ghciScriptshaddockOptionsflushErrflushOut log_action ghciHistSize maxWorkerArgsufDearOpufKeenessFactorufDictDiscountufFunAppDiscountufUseThresholdufCreationThresholdextensionFlags extensionstrustworthyOnLocwarnUnsafeOnLoc warnSafeOnLoc pkgTrustOnLocincoherentOnLocoverlapInstLoc newDerivOnLocthOnLoc safeInferred safeInfer safeHaskelllanguage warningFlags generalFlags dumpFlagsgeneratedDumpsnextTempSuffixfilesToNotIntermediateClean dirsToClean filesToCleanpkgState pkgDatabase packageEnv packageFlags extraPkgConfs depSuffixesdepExcludeModsdepIncludePkgDeps depMakefilehookspluginModNameOptspluginModNameshpcDirrtsOptsEnabledrtsOptscmdlineFrameworksframeworkPaths libraryPaths includePathsldInputsdumpPrefixForce dumpPrefix dynLibLoaderoutputHi dynOutputFile outputFiledllSplit dllSplitFiledynHiSuf dynObjectSufcanGenerateDynamicToohiSufhcSuf objectSufdumpDirstubDirhiDirdylibInstallName objectDir splitInfo rtsBuildTagbuildTagways thisPackage tyFunStkDepth ctxtStkDepth mainFunIs mainModIs importPathscmdlineHcIncludes historySize floatLamArgsliberateCaseThresholdspecConstrRecursivespecConstrCountspecConstrThresholdsimplTickFactormaxRelevantBinds ghcHeapSizeenableTimeStats parMakeCountstrictnessBefore ruleCheckmaxSimplIterations simplPhasesoptLevel verbositysigOfsettings hscTargetghcLinkghcMode HscNothingHscInterpretedHscLlvmHscAsmHscC HscTargetMkDependOneShot CompManagerGhcMode LinkStaticLib LinkDynLib LinkInMemory LinkBinaryNoLinkGhcLink LogActionflagSpecGhcModeflagSpecAction flagSpecFlag flagSpecNameFlagSpec StaticFlagsparseStaticFlagsHsDoc ppr_mbDoc HsDocString LHsDocString mkLocMessageSevFatalSevError SevWarningSevInfoSevInteractiveSevDump SevOutputSeverityMsgDocModule pprModulemkModule mkModuleNamemoduleNameString ml_obj_file ml_hi_file ml_hs_file ModLocation BasicTypesfailed succeeded compareFixity negateFixity defaultFixity maxPrecedenceFixityInfixNInfixRInfixLFixityDirectionFailed Succeeded SuccessFlagHValueSrcLoc isSubspanOfspansleftmost_largestleftmost_smallest rightmost cmpLocated eqLocatedaddCLoc combineLocsmkGeneralLocatednoLocgetLocunLoc srcSpanEnd srcSpanStart srcSpanEndColsrcSpanStartColsrcSpanEndLinesrcSpanStartLine isGoodSrcSpan mkSrcSpan srcLocSpan noSrcSpan srcLocCol srcLocLine srcLocFilenoSrcLoc mkRealSrcLocmkSrcLoc RealSrcLoc UnhelpfulLoc srcSpanFile RealSrcSpan UnhelpfulSpanSrcSpanL GenLocatedLocated nameModule DriverPhases HsSrcFile HscSourceCppPhase StringBufferstringToStringBufferBag bagToList OutputableshowSDocForUsershowSDocUnqualshowSDoc withPprStyledefaultErrStyle alwaysQualifyPprStylePrintUnqualifiedpprPrettyDoc FastStringfsLitPanicshowGhcExceptionPprProgramError ProgramErrorInstallationErrorPprSorrySorryPprPanic CmdLineError UsageErrorSignal PhaseFailed Exceptiongfinallygbracketgcatch moduleNamemodulePackageKey PackageKeySDoc pprUserLengthpprCols useUnicodeghcmt_8W8FgCWb6XL2m11USfzE5WControl.Monad.GhcrunGhcTGhcTsupportedExtensions modToIIMod iiModToModsetContextModulesgetContextNamesconfigureDynFlags fileTargetpprTypepprKind PhantomModulepm_namepm_file GhcErrLogger SessionData internalStateversionSpecific ghcErrListRef ghcErrLoggerRunGhc5RunGhc4RunGhc3RunGhc2RunGhc1RunGhcInterpreterSessionInterpreterConfigurationConf search_path language_extsall_mods_in_scopeInterpreterStateStactive_phantomszombie_phantomshint_support_moduleimport_qual_hack_mod qual_imports defaultExts configurationModifySessionRef FromSessionadjustmapGhcExceptionscatchIErunGhc1runGhc2runGhc3runGhc4runGhc5 fromStateonStatemayFaildebugshowGHCmoduleIsLoaded withDynFlags$fExceptionInterpreterErroranns_set_get setGhcOptions setGhcOption defaultConfextFlagfromConfonConf asModElemList asModElem getUnqualName typeToString kindToStringmoduleToString isSucceededcleanPhantomModules ModuleTextnewPhantomModuleallModulesInContextaddPhantomModuleremovePhantomModulegetPhantomModulesisPhantomModuledoLoadmodNameFromSummarygetLoadedModSummariesonAnEmptyContextinstallSupportModulereinstallSupportModule altStringName altShowNamealtPreludeNamesupport_String support_showrunInterpreterWithArgsunInterpreterTexecute runGhc_impl showGhcEx initialize uniqueTokenifInterpreterNotRunning initialStatenewSessionData mkLogHandler mkGhcError$fApplicativeInterpreterT$fMonadInterpreterInterpreterT!$fShowMultipleInstancesNotAllowed&$fExceptionMultipleInstancesNotAllowed$fMonadTransInterpreterTParseOk ParseError parseExpr runParserfailOnParseError sandboxed old_sandboxed usingAModuletypeChecks_unsandboxedtypeOf_unsandboxedonCompilationErrorbaseGHC.ShowShowunsafeInterprettrans_GZTjP9K5WFq01xC9BAGQpFControl.Monad.IO.ClassMonadIOliftIOControl.Monad.Trans.Classlift MonadTrans