w      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{{{|}~|}~|}~j      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   =rThis represents language extensions beyond Haskell 98 that are supported by GHC (it was taken from Cabal's Language.Haskell.Extension)   !"#$%&'()*+,-./0123456789:;<=  !"#$%&'()*+,-./0123456789:;<=;;:9876543210/.-,+*)('&%$#"!    !"#$%&'()*+,-./0123456789:;<=  !"#$%&'()*+,-./0123456789:;<=;:9876543210/.-,+*)('&%$#"!  < ;="Module names are _not_ filepaths. >?@     AB5GhcExceptions from the underlying GHC API are caught  and rethrown as this. CDEFGHIJ/Version of the underlying ghc api. Values are:  606 for GHC 6.6.x  608 for GHC 6.8.x  610 for GHC 6.10.x  etc...  !"2=>?@     ABCDEFGHIJ !"2=>?@?@         AEDCBBCDEFGHIGHIJ !" K9Get the annotations associated with a particular module. For example, given:    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] L:Get the annotations associated with a particular function For 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] DThis can also work on data constructors and types with annotations. #KLKL MNOAvailable options are:  R  U $%&'()PBUse this function to set or modify the value of any option. It is  invoked like this: 0set [opt1 := val1, opt2 := val2,... optk := valk]Q"Retrieves the value of an option. R/Language extensions in use by the interpreter.  Default is: [] (i.e. none, pure Haskell 98) S1List of the extensions known by the interpreter. *T&List of extensions turned on when the -fglasgow-exts flag is used U When set to True8, 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. System.Unsafe.unsafePerformIO is in scope). Default value is True. <Observe that due to limitations in the GHC-API, when set to False, the @ private symbols in interpreted modules will not be in scope. VEThe search path for source files. Observe that every time it is set, 9 it overrides the previous search path. The default is ["."]. *Keep in mind that by a limitation in ghc, "." is always in scope. +,WXM  !"#$%&'()*+,-./0123456789:;MNO'()PQRSTUV+,WXMNNO'()PQRSTUV+,WX YZ[\]JAn Id for a class, a type constructor, a data constructor, a binding, etc ^_`LGets an abstract representation of all the entities exported by the module.  It is similar to the :browse command in GHCi. -./YZ[\]^_`Y\[ZZ[\]^_` 012@Conversions from GHC representation to standard representations 3450123501123356789:;<a@Tries to load all the requested modules from their source file. 5 Modules my be indicated by their ModuleName (e.g. " My.Module") or ( by the full path to its source file. The interpreter is g2 both before loading the modules and in the event  of an error. =b,Returns True if the module was interpreted. c(Returns the list of modules loaded with a. >?dGSets the modules whose context is used during evaluation. All bindings ; of these modules are in scope, not only those exported. 2Modules must be interpreted to use this function. @e3Sets the modules whose exports must be in context.  Warning: e and f are mutually exclusive. G If you have a list of modules to be used qualified and another list 3 unqualified, then you need to do something like A setImportsQ ((zip unqualified $ repeat Nothing) ++ qualifieds) f8Sets the modules whose exports must be in context; some # of them may be qualified. E.g.:  setImports [(Prelude , Nothing), (Data.Map, Just M)]. Here, map will refer to Prelude.map and M.map to Data.Map.map. g7All imported modules are cleared from the context, and 3 loaded modules are unloaded. It is similar to a :load in : GHCi, but observe that not even the Prelude will be in  context after a reset. ABCDEF=689:;abcd@efgEF689:;abcd@efgEFh@The installed version of ghc is not thread-safe. This exception ) is thrown whenever you try to execute runInterpreter while another  instance is already running. ijGHkIJKLl"Executes the interpreter. Returns Left InterpreterError in case of error. >NB. The underlying ghc will overwrite certain signal handlers Q (SIGINT, SIGHUP, SIGTERM, SIGQUIT on Posix systems, Ctrl-C handler on Windows). C In future versions of hint, this might be controlled by the user. M@Executes the interpreter, setting args passed in as though they ! were command-line args. Returns Left InterpreterError in case of  error. NOPQRShijklMhiijklMm*Set a GHC option for the current session,  eg. unsafeSetGhcOption "-XNoMonomorphismRestriction". ?Warning: Some options may interact badly with the Interpreter. n?Executes the interpreter, setting the args as though they were C 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. mnmnmnmnTUVWXYZTUVWXYZTVUUVWXYZ[\][[^o?Returns a string representation of the type of the expression. _p%Tests if the expression type checks. qDReturns a string representation of the kind of the type expression. `^o_pq^o_pqrs&Convenience functions to be used with  interpret to provide witnesses.  Example:   interpret "head [True,False]" (as :: Bool)  interpret "head $ map show [True,False]"& infer >>= flip interpret (as :: Bool)tCEvaluates an expression, given a witness for its monomorphic type. au eval expr will evaluate  show expr.  It will succeed only if expr has type t and there is a b  instance for t. vConceptually,  parens s = "(" ++ s ++ ")", where s is any valid haskell 2 expression. In practice, it is harder than this.  Observe that if s$ ends with a trailing comment, then parens s would H be a malformed expression. The straightforward solution for this is to F 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:  parens s = " (let {foo =n" ++ s ++ "\ n ;} in foo)" where foo does not occur in s rstuvrstuvnon-portable (GHC API) experimentaljcpetruzza@gmail.comxcdef  !"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklopqrstuvtFGHIjklOMNQPRST;:9876543210/.-,+*)('&%$#"!  UVWX=bacdefgY\[Z]^_`KLopqtrsuAEDCB>?@hiJvxcdef  !"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklopqrstuvg !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR S T T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t uvwxyz{|}}~^w      !"#$%&'()*++,-.//0123456789:;<=>>?@ABCCDEFGFHFIJKJLJMJNJOJPJQJQRSRTRURVWXWYWZW[W\W]W^W^W_W_`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`{`|`}`~`````````````````````````````````````````````````````````````      !"##$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWVXVYVZV[V\V]V^V_V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV{V|V}V~VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV       !"#$%&'()*+,-./0123456789:;<=>?@ABC@DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aAbccdefghijklmnopqrstuvwwxyz{r|r}r~rrrrrrrr      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$#%&'&(&)&*&+&,&-&./0/1/2/3/4/5/6/7/8/9/:;<=<><<p?p@pApBppCDCECFCGCrHIHJHKHLHMHNOPOQOROSOTOUOVOWOXOYOYOZO[O\O]O^O_O`OaObOcdedfdgdhdidjdkdldlHH///m&#&n&o&pqrstsusvswxyxzxzx{:!|}~WdddSdddpp.                                              d     ! " # $ % & ' ( ) * + , -./0123456789:;<=>~?@ABCDEFGHIJOKLMNOPQRSTUVWXYZ[\Z[]Z[^Z[_` hint-0.3.3.0&Language.Haskell.Interpreter.ExtensionLanguage.Haskell.Interpreter#Language.Haskell.Interpreter.UnsafeHint.SignalHandlers Hint.UtilHint.GHC Hint.CompatHint.Extension Hint.BaseHint.AnnotationsHint.ConfigurationHint.ReflectionHint.Conversions Hint.ContextHint.InterpreterT'Language.Haskell.Interpreter.GHC.Unsafe Hint.Parsers Hint.SandboxHint.Typecheck Hint.Eval Language.Haskell.Interpreter.GHC ExtensionUnknownExtension ViewPatternsTransformListComp QuasiQuotesPostfixOperatorsNewQualifiedOperatorsImpredicativeTypesPackageImportsConstrainedClassMethodsDeriveDataTypeable UnboxedTuplesExtendedDefaultRulesRelaxedPolyRecNoMonoPatBindsGADTsOverloadedStringsDisambiguateRecordFields RecordPunsRecordWildCards TypeOperatorsLiberalTypeSynonymsUnliftedFFITypesPatternSignatures UnicodeSyntaxStandaloneDeriving TypeFamilies MagicHash HereDocumentsRestrictedTypeSynonymsExtensibleRecordsGeneralizedNewtypeDeriving PatternGuardsNamedFieldPunsNoImplicitPreludeGenericsArrowsForeignFunctionInterfaceTemplateHaskellTypeSynonymInstances BangPatternsKindSignaturesCPPEmptyDataDeclsFlexibleInstancesFlexibleContextsImplicitParamsScopedTypeVariablesExistentialQuantificationPolymorphicComponents RankNTypes Rank2TypesFunctionalDependenciesNoMonomorphismRestrictionMultiParamTypeClassesParallelListComp RecursiveDoIncoherentInstancesUndecidableInstancesOverlappingInstancesknownExtensions ModuleNameGhcErrorerrMsgInterpreterError GhcException NotAllowed WontCompile UnknownErrorMonadInterpreter fromSessionmodifySessionRefrunGhc ghcVersiongetModuleAnnotationsgetValAnnotations OptionVal:=OptionsetgetlanguageExtensionsavailableExtensionsglasgowExtensionsinstalledModulesInScope searchPathsetUseLanguageExtensions#setInstalledModsAreInScopeQualified ModuleElemDataClassFunIdnamechildrengetModuleExports loadModulesisModuleInterpretedgetLoadedModulessetTopLevelModules setImports setImportsQresetMultipleInstancesNotAllowed InterpreterT InterpreterrunInterpreterunsafeSetGhcOptionunsafeRunInterpreterWithArgstypeOf typeCheckskindOfasinfer interpretevalparenshelpersignals saveHandlersrestoreHandlersprotectHandlersExpr safeBndFor partition>=> ghc-6.12.3 PprTyThingpprTypeForUserGHCobtainTermFromIdobtainTermFromValgetHistorySpan lookupModule findModuleshowRichTokenStreamaddSourceToTokensgetRichTokenStreamgetTokenStreampprParenSymName dataConTypepackageDbModulesgetGREfindGlobalAnnslookupGlobalName isDictonaryIdmodInfoModBreaksmodInfoLookupNamemkPrintUnqualifiedForModulemodInfoIsExportedNamemodInfoInstancesmodInfoExportsmodInfoTopLevelScopemodInfoTyThings getModuleInfogetPrintUnqual getBindingsisLoadedneedsTemplateHaskellgetModuleGraphworkingDirectoryChangedcyclicModuleErrtopSortModuleGraphcompileCoreToObjcompileToCoreSimplifiedcompileToCoreModule loadModule desugarModuletypecheckModule parseModule getModSummaryloadWithLoggerdefaultWarnErrLoggerloaddepanalsetGlobalTypeScopeextendGlobalTypeScopesetGlobalRdrScopeextendGlobalRdrScope guessTarget removeTarget addTarget getTargets setTargetssetSessionDynFlagsgetSessionDynFlagsdefaultCallbacks initGhcMonad printWarningsprintExceptionAndWarningsdefaultCleanupHandlerdefaultErrorHandlerLoadAllTargetsLoadUpToLoadDependenciesOf LoadHowMuch WarnErrLogger parsedSource ParsedMod moduleInfotypecheckedSource renamedSourceTypecheckedMod coreModulepm_parsed_sourcepm_mod_summary ParsedModule tm_internals_tm_checked_module_infotm_typechecked_sourcetm_renamed_sourcetm_parsed_moduleTypecheckedModuledm_core_moduledm_typechecked_moduleDesugaredModule ParsedSource RenamedSourceTypecheckedSource ModuleInfoInteractiveEvalreconstructType showModuledynCompileExpr compileExprtypeKindexprType lookupName parseNamegetRdrNamesInScopegetNamesInScopegetInfomoduleIsInterpreted getContext setContext abandonAllabandonforwardbackresumerunStmtgetHistoryModulegetResumeContextRunOk RunFailed RunExceptionRunBreak RunResultresumeHistoryIx resumeHistory resumeSpanresumeBreakInforesumeThreadId resumeStmtRunToCompletion SingleStepRunAndLogStepshistoryEnclosingDeclhistoryBreakInfoHistoryParser parseType parseStmtHscTypes ms_mod_name hasWarnings clearWarningssrcErrorMessageshandleSourceError SourceError GhcApiError getWarnings setSession getSessionGhcMonadGhcreportModuleCompilationResultGhcApiCallbackstargetContentstargetAllowObjCodetargetIdTarget TargetModule TargetFileTargetId ModuleGraph ms_hspp_buf ms_hspp_opts ms_hspp_filems_imps ms_srcimps ms_obj_date ms_hs_date ms_location ms_hsc_srcms_mod ModSummary BreakIndexmodBreaks_varsmodBreaks_locsmodBreaks_flags ModBreaks ByteCodeLinkHValue ByteCodeInstrbreakInfo_numberbreakInfo_module BreakInfoLexermkPStateTokenPOkPFailed ParseResultunPPInstEnvpprInstanceHdr pprInstanceinstanceDFunIdInstanceHsSynhsmodHaddockModHeaderhsmodDeprecMessage hsmodDecls hsmodImports hsmodExports hsmodNameHsModule HsExtCoreHsUtils collect_pat collect_lpatcollectSigTysFromPatcollectSigTysFromPatscollectlcollectLocatedPatsBinderscollectPatsBinderscollectLocatedPatBinderscollectPatBinderscollectStmtBinderscollectLStmtBinderscollectStmtsBinderscollectLStmtsBinderscollectHsBindLocatedBinderscollectHsBindBinders collectAcccollectHsValBinderscollectLocalBindersmkMatch mk_FunBindmk_easy_FunBind mkVarBind mkFunBind missingTupArg nlTuplePat mkLHsVarTuplemkLHsTupleExpr nlHsTyConApp nlHsFunTy nlHsTyVar nlHsAppTynlListnlHsCasenlHsIfnlHsParnlHsLam nlHsOpAppnlHsDo nlWildPat nlWildConPatnlNullaryConPatnlConPat nlInfixConPat nlConVarPat nlHsVarAppsnlHsApps nlHsIntLitnlHsAppnlLitPatnlVarPatnlHsLitnlHsVaruserHsTyVarBndrs mkHsStringunqualQuasiQuotemkHsQuasiQuote unqualSplice mkHsSplice mkHsOpApp mkRecStmt emptyRecStmt mkBindStmt mkExprStmtmkGroupByUsingStmt mkGroupByStmtmkGroupUsingStmtmkTransformByStmtmkTransformStmt mkNPlusKPatmkNPatmkHsDonoRebindableInfo mkHsIsStringmkHsFractional mkHsIntegral mkSimpleHsAlt mkHsConApp mkHsDictLet mkMatchGroupmkHsLamcoiToHsWrapper mkHsWrapCoImkHsWrap mkLHsWrap nlHsTyAppmkHsApp mkHsAppTy unguardedRHSunguardedGRHSs mkSimpleMatchmkHsParHsExpr pprStmtInCtxtpprMatchInCtxtmatchContextErrStringpprStmtContextpprMatchContextmatchSeparatorisListCompExprisDoExpr pp_dotdot thBrackets pprHsBracketpprComp ppr_do_stmtspprDopprGroupByClausepprStmtpp_rhspprGRHSpprGRHSspprMatch pprMatches hsLMatchPatsmatchGroupArityisEmptyMatchGroupisAtomicHsExpr pprParendExprpprDebugParendExpr pa_brackets pprCmdArgppr_expr ppr_lexprpprBinds isQuietHsExpr tupArgPresent noSyntaxTable noSyntaxExpr noPostTcTable noPostTcExpr PostTcExpr PostTcTable SyntaxTableHsVarHsIPVar HsOverLitHsLitHsLamHsAppOpAppNegAppHsParSectionLSectionR ExplicitTupleHsCaseHsIfHsLetHsDo ExplicitList ExplicitPArr RecordCon RecordUpd ExprWithTySigExprWithTySigOutArithSeqPArrSeqHsSCC HsCoreAnn HsBracket HsBracketOut HsSpliceE HsQuasiQuoteEHsProcHsArrApp HsArrFormHsTick HsBinTick HsTickPragmaEWildPatEAsPatEViewPatELazyPatHsTypeHsWrapPresentMissingHsTupArg PendingSpliceHsCmdLHsCmdHsHigherOrderAppHsFirstOrderApp HsArrAppType LHsCmdTopHsCmdTop HsRecordBinds MatchGroupLMatchMatchgrhssLocalBinds grhssGRHSsGRHSsLGRHSGRHSLStmtLStmtLRStmtGroupByNothingGroupBySomething GroupByClauseBindStmtExprStmtLetStmtParStmt TransformStmt GroupStmt recS_dicts recS_rec_rets recS_mfix_fn recS_ret_fn recS_bind_fn recS_rec_idsrecS_later_ids recS_stmtsRecStmtStmtLRHsSpliceExpBrPatBrDecBrTypBrVarBrFromFromThenFromTo FromThenTo ArithSeqInfoFunRhsCaseAlt LambdaExprProcExpr PatBindRhsRecUpdStmtCtxtHsMatchContextListCompDoExprGhciStmtMDoExprPArrCompPatGuard ParStmtCtxtTransformStmtCtxt HsStmtContextHsDeclsmodifyAnnProvenanceNameMannProvenanceName_maybe docDeclDoccollectRuleBndrSigTys instDeclATshsConDeclsNameshsConDeclArgTyscountTyClDeclstyClDeclTyVars tyClDeclNamestcdName isFamInstDecl isFamilyDecl isClassDecl isSynDecl isTypeDecl isDataDecl appendGroups emptyRnGroup emptyRdrGroupLHsDeclTyClDInstDDerivDValDSigDDefDForDWarningDAnnDRuleDSpliceDDocDHsDeclhs_docs hs_ruledshs_annds hs_warndshs_fordshs_defdshs_fixds hs_derivds hs_instds hs_tycldshs_valdsHsGroup SpliceDecl LTyClDecl tcdExtNametcdLName ForeignTypetcdKind tcdTyVars tcdFlavourTyFamily tcdDerivstcdCons tcdKindSig tcdTyPatstcdCtxttcdNDTyData tcdSynRhs TySynonymtcdDocstcdATstcdMethstcdSigstcdFDs ClassDeclTyClDeclNewTypeDataType NewOrData TypeFamily DataFamily FamilyFlavourLConDecl con_old_reccon_doccon_res con_detailscon_cxt con_qvars con_explicitcon_nameConDeclHsConDeclDetailsResTyH98 ResTyGADTResType LInstDeclInstDecl LDerivDecl DerivDecl LDefaultDecl DefaultDecl LForeignDecl ForeignImport ForeignExport ForeignDeclCImportCLabel CFunctionCWrapper CImportSpecCExport LRuleDeclHsRuleRuleDeclRuleBndr RuleBndrSigLDocDeclDocCommentNextDocCommentPrevDocCommentNamedDocGroupDocDecl LWarnDeclWarningWarnDeclLAnnDecl HsAnnotationAnnDeclValueAnnProvenanceTypeAnnProvenanceModuleAnnProvenance AnnProvenanceHsPathsPatNeedsParensisIrrefutableHsPat isBangHsBindisLitPatpatsAreAllLitsisSigPatisConPatpatsAreAllCons isWildPat mkCoPatCoImkCoPat mkCharLitPatmkNilPatmkPrefixConPat hsRecFields hsConPatArgsInPatOutPatWildPatVarPat VarPatOutLazyPatAsPatParPatBangPatListPatTuplePatPArrPatConPatInpat_typat_args pat_binds pat_dictspat_tvspat_con ConPatOutViewPat QuasiQuotePatLitPatNPat NPlusKPatTypePatSigPatIn SigPatOutCoPat PrefixConRecConInfixCon HsConDetailsHsConPatDetails rec_dotdotrec_flds HsRecFieldshsRecPun hsRecFieldArg hsRecFieldId HsRecFieldHsBindspprPragpprSpec pprVarSig pragBracketsppr_sigeqHsSighsSigDoc isInlineLSig isPragLSigisSpecInstLSig isSpecLSig isTypeLSig isVanillaLSig isFixityLSig sigNameNoLocsigNamesigForThisGroup okInstDclSig okClsDclSig okHsBootSig okBindSig isSpecPrag isInlinePrag isIdHsWrapper idHsWrappermk_co_fnmkWpLams mkWpTyLamsmkWpApps mkWpTyApps pprHsWrapperisEmptyIPBindspprTicks ppr_monobindplusHsValBindsisEmptyLHsBinds emptyLHsBindsemptyValBindsOutemptyValBindsInisEmptyValBindsisEmptyLocalBindsemptyLocalBinds pprLHsBindspprValBindsForUserplaceHolderNames HsLocalBinds HsValBinds HsIPBindsEmptyLocalBindsHsLocalBindsLR ValBindsIn ValBindsOut HsValBindsLRLHsBinds DictBindsLHsBindHsBind LHsBindLR LHsBindsLRfun_tickbind_fvs fun_co_fn fun_matches fun_infixfun_idFunBind pat_rhs_typat_rhspat_lhsPatBindvar_rhsvar_idVarBind abs_binds abs_exports abs_dictsabs_tvsAbsBindsHsBindLRIPBindsLIPBindIPBindWpHole WpComposeWpCastWpAppWpTyAppWpLamWpTyLamWpInlineWpLet HsWrapperLSigTypeSigIdSigFixSig InlineSigSpecSig SpecInstSigSig LFixitySig FixitySigLPrag InlinePragSpecPragPrag isBottomingId isDeadBinder isImplicitId idDataConisDataConWorkId isFCallId isPrimOpIdisClassOpId_maybeisRecordSelectorrecordSelectorFieldLabelidTypeDynFlagsparseDynamicFlagssupportedLanguagesdoptdefaultObjectTargetOpt_D_dump_cmmOpt_D_dump_cmmzOpt_D_dump_cmmz_prettyOpt_D_dump_cps_cmmOpt_D_dump_cvt_cmmOpt_D_dump_asmOpt_D_dump_asm_nativeOpt_D_dump_asm_livenessOpt_D_dump_asm_coalesceOpt_D_dump_asm_regallocOpt_D_dump_asm_regalloc_stagesOpt_D_dump_asm_conflictsOpt_D_dump_asm_statsOpt_D_dump_asm_expandedOpt_D_dump_cpranalOpt_D_dump_deriv Opt_D_dump_dsOpt_D_dump_flatCOpt_D_dump_foreignOpt_D_dump_inliningsOpt_D_dump_rule_firingsOpt_D_dump_occur_analOpt_D_dump_parsed Opt_D_dump_rnOpt_D_dump_simplOpt_D_dump_simpl_iterationsOpt_D_dump_simpl_phasesOpt_D_dump_specOpt_D_dump_prepOpt_D_dump_stgOpt_D_dump_stranal Opt_D_dump_tcOpt_D_dump_typesOpt_D_dump_rulesOpt_D_dump_cseOpt_D_dump_worker_wrapperOpt_D_dump_rn_traceOpt_D_dump_rn_statsOpt_D_dump_opt_cmmOpt_D_dump_simpl_statsOpt_D_dump_tc_traceOpt_D_dump_if_traceOpt_D_dump_splicesOpt_D_dump_BCOsOpt_D_dump_vectOpt_D_dump_hpcOpt_D_dump_rttiOpt_D_source_statsOpt_D_verbose_core2coreOpt_D_verbose_stg2stg Opt_D_dump_hiOpt_D_dump_hi_diffsOpt_D_dump_minimal_importsOpt_D_dump_mod_cycles!Opt_D_dump_view_pattern_commoningOpt_D_faststring_statsOpt_DumpToFileOpt_D_no_debug_outputOpt_DoCoreLintingOpt_DoStgLintingOpt_DoCmmLintingOpt_DoAsmLintingOpt_WarnIsErrorOpt_WarnDuplicateExportsOpt_WarnHiShadowsOpt_WarnImplicitPreludeOpt_WarnIncompletePatterns Opt_WarnIncompletePatternsRecUpdOpt_WarnMissingFieldsOpt_WarnMissingMethodsOpt_WarnMissingSigsOpt_WarnNameShadowingOpt_WarnOverlappingPatternsOpt_WarnSimplePatternsOpt_WarnTypeDefaultsOpt_WarnMonomorphismOpt_WarnUnusedBindsOpt_WarnUnusedImportsOpt_WarnUnusedMatchesOpt_WarnWarningsDeprecationsOpt_WarnDeprecatedFlagsOpt_WarnDodgyExportsOpt_WarnDodgyImportsOpt_WarnOrphans Opt_WarnTabsOpt_WarnUnrecognisedPragmasOpt_WarnDodgyForeignImportsOpt_WarnLazyUnliftedBindingsOpt_WarnUnusedDoBindOpt_WarnWrongDoBindOpt_OverlappingInstancesOpt_UndecidableInstancesOpt_IncoherentInstancesOpt_MonomorphismRestrictionOpt_MonoPatBindsOpt_MonoLocalBindsOpt_ExtendedDefaultRulesOpt_ForeignFunctionInterfaceOpt_UnliftedFFITypesOpt_GHCForeignImportPrimOpt_PArr Opt_ArrowsOpt_TemplateHaskellOpt_QuasiQuotesOpt_ImplicitParams Opt_GenericsOpt_ImplicitPreludeOpt_ScopedTypeVariablesOpt_UnboxedTuplesOpt_BangPatternsOpt_TypeFamiliesOpt_OverloadedStringsOpt_DisambiguateRecordFieldsOpt_RecordWildCardsOpt_RecordPunsOpt_ViewPatterns Opt_GADTsOpt_RelaxedPolyRecOpt_NPlusKPatternsOpt_StandaloneDerivingOpt_DeriveDataTypeableOpt_DeriveFunctorOpt_DeriveTraversableOpt_DeriveFoldableOpt_TypeSynonymInstancesOpt_FlexibleContextsOpt_FlexibleInstancesOpt_ConstrainedClassMethodsOpt_MultiParamTypeClassesOpt_FunctionalDependenciesOpt_UnicodeSyntaxOpt_PolymorphicComponentsOpt_ExistentialQuantification Opt_MagicHashOpt_EmptyDataDeclsOpt_KindSignaturesOpt_ParallelListCompOpt_TransformListCompOpt_GeneralizedNewtypeDerivingOpt_RecursiveDo Opt_DoRecOpt_PostfixOperatorsOpt_TupleSectionsOpt_PatternGuardsOpt_LiberalTypeSynonymsOpt_Rank2TypesOpt_RankNTypesOpt_ImpredicativeTypesOpt_TypeOperatorsOpt_PackageImportsOpt_NewQualifiedOperatorsOpt_ExplicitForAllOpt_PrintExplicitForallsOpt_StrictnessOpt_FullLaziness Opt_StaticArgumentTransformationOpt_CSEOpt_LiberateCaseOpt_SpecConstrOpt_IgnoreInterfacePragmasOpt_OmitInterfacePragmasOpt_DoLambdaEtaExpansionOpt_IgnoreAssertsOpt_DoEtaReduction Opt_CaseMergeOpt_UnboxStrictFieldsOpt_MethodSharingOpt_DictsCheapOpt_InlineIfEnoughArgsOpt_EnableRewriteRules Opt_Vectorise Opt_RegsGraphOpt_RegsIterativeOpt_AutoSccsOnAllToplevsOpt_AutoSccsOnExportedToplevsOpt_AutoSccsOnIndividualCafsOpt_CppOpt_PpOpt_ForceRecomp Opt_DryRunOpt_DoAsmManglingOpt_ExcessPrecisionOpt_EagerBlackHolingOpt_ReadUserPackageConf Opt_NoHsMainOpt_RtsOptsEnabled Opt_SplitObjs Opt_StgStatsOpt_HideAllPackagesOpt_PrintBindResult Opt_HaddockOpt_HaddockOptionsOpt_Hpc_No_AutoOpt_BreakOnExceptionOpt_BreakOnErrorOpt_PrintEvldWithShowOpt_PrintBindContentsOpt_GenManifestOpt_EmbedManifestOpt_EmitExternalCoreOpt_SharedImplibOpt_BuildingCabalPackage Opt_RunCPS Opt_RunCPSZOpt_ConvertToZipCfgAndBackOpt_AutoLinkPackagesOpt_ImplicitImportQualifiedOpt_TryNewCodeGenOpt_KeepHiDiffsOpt_KeepHcFilesOpt_KeepSFilesOpt_KeepRawSFilesOpt_KeepTmpFilesOpt_KeepRawTokenStreamDynFlaghaddockOptions log_actionflags dirsToClean filesToCleanpkgState pkgDatabase packageFlagssystemPackageConfigtopDir extraPkgConfs depSuffixesdepExcludeModsdepIncludePkgDeps depMakefile pgm_windres pgm_sysmanpgm_Tpgm_dllpgm_lpgm_apgm_spgm_mpgm_cpgm_Fpgm_Ppgm_L opt_windresopt_lopt_aopt_mopt_copt_Fopt_Popt_LhpcDir ghciUsagePath ghcUsagePathtmpDircmdlineFrameworksframeworkPaths libraryPaths includePathsdumpPrefixForce dumpPrefix dynLibLoaderoutputHi outputFilehiSufhcSuf objectSufstubDirhiDir objectDir splitInfo rtsBuildTagbuildTagways thisPackage dphBackend ctxtStkDepth mainFunIs mainModIs importPathscmdlineHcIncludesstolen_x86_regstargetPlatformliberateCaseThresholdspecConstrCountspecConstrThreshold ruleCheckshouldDumpSimplPhasemaxSimplIterations simplPhasesoptLevel verbosity extCoreName hscOutName hscTargetstgToDocoreToDoghcLinkghcModeHscCHscAsmHscJavaHscInterpreted HscNothing HscTarget CompManagerOneShotMkDependGhcModeNoLink LinkBinary LinkInMemory LinkDynLibGhcLinkDataCon dataConSigdataConStrictMarksdataConFieldLabelsdataConIsInfix dataConTyConTysPrim alphaTyVars overLitTypeHsChar HsCharPrimHsString HsStringPrimHsInt HsIntPrim HsWordPrim HsIntegerHsRat HsFloatPrim HsDoublePrimol_type ol_witness ol_rebindableol_valOverLit HsIntegral HsFractional HsIsString OverLitValHsTypespprParendHsTypepprConDeclFieldsppr_hs_context pprHsContext pprHsForAllpprHsTyVarBndrsplitHsFunTypesplitHsInstDeclTyreplaceTyVarNamehsLTyVarLocNameshsLTyVarLocName hsLTyVarNames hsTyVarNames hsLTyVarName hsTyVarName hsExplicitTvsmkExplicitHsForAllTymkImplicitHsForAllTygetBangStrictness getBangTypeplaceHolderType PostTcType LBangTypeBangTypeHsNoBangHsStrictHsUnboxHsBang LHsContext HsContextLHsPredHsClassPHsEqualPHsIParamHsPredLHsType HsForAllTyHsTyVarHsAppTyHsFunTyHsListTyHsPArrTy HsTupleTyHsOpTyHsParTyHsNumTyHsPredTy HsKindSig HsSpliceTyHsDocTy HsSpliceTyOutHsBangTyHsRecTyExplicitImplicitHsExplicitForAll cd_fld_doc cd_fld_type cd_fld_name ConDeclField LHsTyVarBndr UserTyVar KindedTyVar HsTyVarBndrTypesplitForAllTys funResultTyTypeRep pprThetaArrow pprTypeApp pprParendType ThetaTypeAnIdADataConATyConAClassTyCon isClassTyConsynTyConResKind synTyConType synTyConDefn tyConDataCons isOpenTyCon isSynTyCon isNewTyCon isPrimTyCon tyConArity tyConTyVarsisVanillaDataConRdrNameUnqualQual pprFundeps classTvsFds classMethods classSCThetaVar isExportedId isGlobalId isLocalIdTyVarName nameModuleisExternalName nameSrcSpangetName getOccName NamedThingHsImpExpieNamesieName LImportDecl ideclHidingideclAsideclQualified ideclSource ideclPkgQual ideclName ImportDeclLIEIEVar IEThingAbs IEThingAll IEThingWithIEModuleContentsIEGroupIEDoc IEDocNamedIEModule pprModulemkModule mkModuleNamemoduleNameString ml_obj_file ml_hi_file ml_hs_file ModLocation isFunTyConPredTypeTyThingKindStaticFlagParserparseStaticFlags DriverPhases HsSrcFile HscSourceCppPhaseHsDoc ppr_mbDoc HsDocString LHsDocStringLHsExpr SyntaxExprpprLExprpprExpr pprSplice pprPatBind pprFunBind HsQuasiQuotePatLPatErrUtilsSevInfo SevWarningSevErrorSevFatalSeverityMessage mkLocMessageSrcLoc isSubspanOfspansleftmost_largestleftmost_smallest rightmost cmpLocated eqLocatedaddCLoc combineLocsmkGeneralLocatednoLocgetLocunLoc pprDefnLoc srcSpanEnd srcSpanStart srcSpanEndColsrcSpanStartColsrcSpanEndLinesrcSpanStartLine isGoodSrcSpan mkSrcSpan srcLocSpan noSrcSpan srcLocCol srcLocLine srcLocFile isGoodSrcLocnoSrcLocmkSrcLoc srcSpanFileSrcSpanLLocatedBag bagToList BasicTypesfailed succeededisMarkedStrict compareFixity negateFixity defaultFixity maxPrecedenceFixityInfixLInfixRInfixNFixityDirection MarkedStrict MarkedUnboxedNotMarkedStrictStrictnessMark SucceededFailed SuccessFlag OutputableshowSDocUnqualshowSDocForUsershowSDoc withPprStyledefaultErrStyle alwaysQualifyPprStylePrintUnqualifiedppr StringBufferstringToStringBufferPrettyDocPanicshowGhcException PhaseFailed InterruptedSignal UsageError CmdLineErrorInstallationError ProgramError Exceptiongfinallygbracketgcatch PackageId moduleNamemodulePackageId BreakArraygetBreak setBreakOff setBreakOnResumeghc-mtl-1.0.1.0Control.Monad.GhcrunGhcTGhcTconfigureDynFlags 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 configurationModifySessionRef FromSessionadjustmapGhcExceptionsrunGhc1runGhc2runGhc3runGhc4runGhc5 fromStateonStatemayFailmoduleIsLoadedanns_set_get setGhcOptions setGhcOption defaultConfasExtensionListfromConfonConf asModElemList asModElem getUnqualName FromGhcRep_ fromGhcRep_ FromGhcRep fromGhcRep parseModule' isSucceeded ModuleTextnewPhantomModuleallModulesInContextaddPhantomModuleremovePhantomModulegetPhantomModulesisPhantomModuledoLoadmodNameFromSummarygetLoadedModSummariesonAnEmptyContextinstallSupportModulereinstallSupportModule altStringName altShowNamesupport_String support_showunInterpreterTexecute runGhc_impl showGhcEx initializerunInterpreterWithArgs uniqueTokenifInterpreterNotRunning initialStatenewSessionData mkLogHandler mkGhcError ParseErrorParseOk parseExpr runParserfailOnParseError sandboxed old_sandboxed usingAModuletypeChecks_unsandboxedtypeOf_unsandboxedonCompilationErrorunsafeInterpretbaseGHC.ShowShow mtl-1.1.1.0Control.Monad.TransliftIO MonadTransliftMonadIO