s      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None+23468:;=BFHMNone+23468:;=BFHMNone+23468:;=BFHMNone+23468:;=BFHMC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None+23468:;=BFHM None+23468:;=BFHMqThis 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:;<=>?@ABCDEFGHIJKLIIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  JKLNone+23468:;=BFHMM  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  LJK None+23468:;=BFHMM!Module names are _not_ filepaths.RKGhcExceptions 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...AMNOP     QRSTUVWXYZ !7MNOP     QRSTUVWXYZ $MNOP     QUTSRVWXYZ ! None+23468:;=BFHM[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+23468:;=BFHM_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.]^_#$%&'(`ab)cde*+fg[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ]^_&'(`abcde*+fg]^_#$%&'(`ab)cde*+fgNone+23468:;=BFHMlIAn 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. hijklmno,-.hijklmnohkjilmno,-.None+23468:;=BFHM/012/012/012None+23468:;=BFHMpTries 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.33 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.456789:p;qr<=s>tu3v?@ABCDEM46789pqrs>tu3vDE456789:p;qr<=s>tu3v?@ABCDENone+23468:;=BFHMwiThe 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.FaExecutes the interpreter, setting args passed in as though they were command-line args. Returns Left InterpreterError in case of error.wxyGHzIJKL{FMNOPQRSTUVWwxyz{FwxyGHzIJKL{FMNOPQRSTUVWNone+23468:;=BFHM|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+23468:;=BFHM|}None+23468:;=BFHMXYZ[\]^XYZ[\]^XZY[\]^None+23468:;=BFHM_`a__`aNone+23468:;=BFHM~>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.b~cdb~cb~cdNone+23468:;=BFHM&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 e 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 sff BSD-stylejcpetruzza@gmail.com experimentalnon-portable (GHC API)None+23468:;=BFHMghij  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{~VWXYyz{_]^a`bJcIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  defgMqprstuvhkjilmno[\~QUTSRNOPwxZNone+23468:;=BFHMghij  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{~k         ! " # $ % & ' ( ) * + , - . / 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      !"!#$#%#&#'#(#)#*#+,-./0102030405000607898:;<;=;>;?;@;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;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;t;u;v;w;x;y;z;z{|{}{~{{{{{{{{{{{                             ! " # $ % & ' ( ) * + , - . / 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 h i j k l m n o p q r s t u v w x y z { | } ~                                                                            ]                                   !""#$%&'()*+,-./0123456789::;<=>?@@ABCDEFGHIJKKLMNOPQRSTUVWXXYZ[\]^_`aabcdeefghijkklmnopqrrstuvwxyz{|}}~      !"#$%&'()*+,-./01234556789:;<=>?@ABBCDEFGHIJKLMNOPQPRPSPTPUPVPWPWXYXZ[\[][^[_`abcdefghijklkmnonpnqnrnsntnunvnwnxnynzn{n|n|n}n~nnnnnnnnlDDDDDDDDDDDDDDDDDDDDDDDDDDCDDD D      !"#$%&'()*+,-./.0..121134567686966:;<;=;>;?;@ABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1AAA2A3A4A5A6A7A8A9A:A;A<A=A>A?A@AAABCDCECFCGHIJKJLJLJM N O P Q R   S  T  U VWXkYkZk[k\k]k^k_k`kakbcdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczc{c|c}c~ccccccccccccccc AAAAA;;;jfQD   Y                                                    w         !"#$%&'()*+,-./0123456789:;<=>?U@AB9CDEFGHIJKLMNOPQOPROSTOSUV hint-0.4.2.2&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 ExtensionUnknownExtensionDeriveFoldableDeriveTraversable DeriveFunctorMonoLocalBindsDatatypeContextsExplicitForAllRebindableSyntaxDoAndIfThenElseNPlusKPatternsGHCForeignImportPrim TupleSectionsRegularPatterns XmlSyntax ViewPatternsTransformListComp QuasiQuotesPostfixOperatorsNewQualifiedOperatorsImpredicativeTypesPackageImportsConstrainedClassMethodsDeriveDataTypeable UnboxedTuplesExtendedDefaultRulesRelaxedPolyRecNoMonoPatBindsGADTsOverloadedStringsDisambiguateRecordFields RecordPunsRecordWildCards TypeOperatorsLiberalTypeSynonymsUnliftedFFITypesPatternSignatures UnicodeSyntaxStandaloneDeriving TypeFamilies MagicHash HereDocumentsRestrictedTypeSynonymsExtensibleRecordsGeneralizedNewtypeDeriving PatternGuardsNamedFieldPunsNoImplicitPreludeGenericsArrowsForeignFunctionInterfaceTemplateHaskellTypeSynonymInstances BangPatternsKindSignaturesCPPEmptyDataDeclsFlexibleInstancesFlexibleContextsImplicitParamsScopedTypeVariablesExistentialQuantificationPolymorphicComponents RankNTypes Rank2TypesFunctionalDependenciesNoMonomorphismRestrictionMultiParamTypeClassesParallelListComp RecursiveDoDoRecIncoherentInstancesUndecidableInstancesOverlappingInstancesavailableExtensions asExtensionknownExtensions ModuleNameGhcErrorerrMsgInterpreterError GhcException NotAllowed WontCompile UnknownErrorMonadInterpreter fromSessionmodifySessionRefrunGhc ghcVersiongetModuleAnnotationsgetValAnnotations OptionVal:=OptionsetgetlanguageExtensionsglasgowExtensionsinstalledModulesInScope searchPathsetUseLanguageExtensions#setInstalledModsAreInScopeQualified ModuleElemDataClassFunIdnamechildrengetModuleExports loadModulesisModuleInterpretedgetLoadedModulessetTopLevelModules setImports setImportsQresetMultipleInstancesNotAllowed InterpreterT InterpreterrunInterpreterunsafeSetGhcOptionunsafeRunInterpreterWithArgstypeOf typeCheckskindOfasinfer interpretevalparenshelpersignals saveHandlersrestoreHandlersprotectHandlersExpr safeBndFor partitionpartitionEither>=>quotegetPIDMessage ghc-7.8.3GHCparser lookupNameobtainTermFromIdobtainTermFromValgetHistorySpan setGHCiMonadmoduleTrustReqsisModuleTrusted lookupModule findModuleshowRichTokenStreamaddSourceToTokensgetRichTokenStreamgetTokenStreampprParenSymName dataConTypepackageDbModulesgetGREfindGlobalAnnslookupGlobalName isDictonaryIdmodInfoModBreaks modInfoSafe modInfoIfacemodInfoLookupNamemkPrintUnqualifiedForModulemodInfoIsExportedNamemodInfoInstancesmodInfoExportsmodInfoTopLevelScopemodInfoTyThings getModuleInfogetPrintUnqualgetInsts getBindingsisLoadedneedsTemplateHaskellgetModuleGraphcompileCoreToObjcompileToCoreSimplifiedcompileToCoreModule loadModule desugarModuletypecheckModule parseModule getModSummaryworkingDirectoryChanged guessTarget removeTarget addTarget getTargets setTargetsparseDynamicFlagsgetInteractiveDynFlagssetInteractiveDynFlagsgetProgramDynFlagssetProgramDynFlagssetSessionDynFlags initGhcMonaddefaultCleanupHandlerdefaultErrorHandler parsedSource ParsedMod moduleInfotypecheckedSource renamedSourceTypecheckedMod coreModulepm_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 abandonAllabandonforwardbackresumeparseImportDeclrunDeclsWithLocationrunDeclsrunStmtWithLocationrunStmtgetHistoryModulegetResumeContextRunToCompletion SingleStepRunAndLogStepsGhcMakecyclicModuleErrtopSortModuleGraphloaddepanalLoadAllTargetsLoadUpToLoadDependenciesOf LoadHowMuch TcRnDriverrunTcInteractive PprTyThingpprTypeForUserGhcMonaddefaultWarnErrLoggerprintExceptiongetSessionDynFlags setSession getSessionGhc WarnErrLoggerParser parseType parseStmtHscTypes ms_mod_namehandleSourceErrorsrcErrorMessages SourceError GhcApiErrorHscEnvtargetContentstargetAllowObjCodetargetIdTarget TargetModule TargetFileTargetId 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_moduleModIfaceIIDeclIIModuleInteractiveImport ModuleGraph ms_hspp_buf ms_hspp_opts ms_hspp_filems_textual_imps ms_srcimps ms_obj_date ms_hs_date ms_location ms_hsc_srcms_mod ModSummary BreakIndexmodBreaks_declsmodBreaks_varsmodBreaks_locsmodBreaks_flags ModBreaksInteractiveEvalTypesRunOk RunExceptionRunBreak RunResultresumeHistoryIx resumeHistory resumeSpanresumeBreakInforesumeThreadId resumeStmtResumehistoryEnclosingDeclshistoryBreakInfoHistory ByteCodeInstrbreakInfo_numberbreakInfo_module BreakInfoHsSynhsmodHaddockModHeaderhsmodDeprecMessage hsmodDecls hsmodImports hsmodExports hsmodNameHsModule HsExtCore BreakArraygetBreak setBreakOff setBreakOnHsUtils lPatImplicitshsValBindsImplicitslStmtsImplicitshsDataFamInstBindershsLTyClDeclBindershsTyClDeclsBindershsForeignDeclsBindershsGroupBinderscollectPatsBinderscollectPatBinderscollectStmtBinderscollectLStmtBinderscollectStmtsBinderscollectLStmtsBinderscollectMethodBinderscollectHsBindListBinderscollectHsBindsBinderscollectHsBindBinderscollectHsValBinderscollectLocalBindersmkMatchmk_easy_FunBind mkPatSynBind mkVarBind mkHsVarBind mkTopFunBind mkFunBind mkHsDictLet mkHsWrapPatCo mkHsWrapPat coToHsWrapper mkHsCmdCast mkLHsWrapCo mkHsWrapComkHsWrap mkLHsWraptoHsKindtoHsType missingTupArg nlTuplePat mkLHsVarTuplemkLHsTupleExpr nlHsTyConApp nlHsFunTy nlHsTyVar nlHsAppTynlListnlHsCasenlHsIfnlHsParnlHsLam nlHsOpAppnlHsDo nlWildPat nlWildConPatnlNullaryConPatnlConPat nlInfixConPat nlConVarPat nlHsVarAppsnlHsApps nlHsIntLitnlHsAppnlLitPatnlVarPatnlHsLitnlHsVaruserHsTyVarBndrs mkHsStringunqualQuasiQuotemkHsQuasiQuote mkHsSpliceTy mkHsSpliceTE mkHsSpliceE mkHsSplice mkHsOpApp mkRecStmt emptyRecStmt mkBindStmt mkBodyStmt mkLastStmtmkGroupByUsingStmtmkGroupUsingStmtmkTransformByStmtmkTransformStmtemptyTransStmt mkNPlusKPatmkNPatmkHsIfmkHsCompmkHsDonoRebindableInfo mkHsIsStringmkHsFractional mkHsIntegralmkParPatmkLHsPar nlHsTyApp mkSimpleHsAlt mkHsConAppmkHsLamsmkHsLammkHsApp mkHsAppTy 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 noSyntaxTable noSyntaxExpr noPostTcTable noPostTcExpr PostTcExpr PostTcTableCmdSyntaxTableHsVarHsIPVar HsOverLitHsLitHsLam HsLamCaseHsAppOpAppNegAppHsParSectionLSectionR ExplicitTupleHsCaseHsIf HsMultiIfHsLetHsDo ExplicitList ExplicitPArr RecordCon RecordUpd ExprWithTySigExprWithTySigOutArithSeqPArrSeqHsSCC HsCoreAnn HsBracketHsRnBracketOutHsTcBracketOut HsSpliceE HsQuasiQuoteEHsProcHsArrApp HsArrFormHsTick HsBinTick HsTickPragmaEWildPatEAsPatEViewPatELazyPatHsTypeHsWrap HsUnboundVarPresentMissingHsTupArgPendingRnExpSplicePendingRnPatSplicePendingRnTypeSplicePendingRnDeclSplicePendingRnCrossStageSplicePendingRnSplicePendingTcSpliceLHsCmd HsCmdArrApp HsCmdArrFormHsCmdAppHsCmdLamHsCmdPar HsCmdCaseHsCmdIfHsCmdLetHsCmdDo HsCmdCastHsHigherOrderAppHsFirstOrderApp HsArrAppType LHsCmdTopHsCmdTop HsRecordBinds mg_origin mg_res_ty mg_arg_tysmg_altsMGLMatchMatchgrhssLocalBinds grhssGRHSsGRHSsLGRHSGRHSLStmtLStmtLRStmtCmdLStmtCmdStmt ExprLStmtExprStmt GuardLStmt GuardStmt GhciLStmtGhciStmtLastStmtBindStmtBodyStmtLetStmtParStmttrS_fmaptrS_bindtrS_rettrS_by trS_using trS_bndrs trS_stmtstrS_form TransStmt recS_ret_ty recS_rec_retsrecS_later_rets recS_mfix_fn recS_ret_fn recS_bind_fn recS_rec_idsrecS_later_ids recS_stmtsRecStmtStmtLRThenForm GroupForm TransForm ParStmtBlockHsSpliceExpBrPatBrDecBrLDecBrGTypBrVarBrTExpBrFromFromThenFromTo FromThenTo ArithSeqInfoFunRhs LambdaExprCaseAltIfAltProcExpr PatBindRhsRecUpdStmtCtxt ThPatSplice ThPatQuotePatSynHsMatchContextListComp MonadCompPArrCompDoExprMDoExpr ArrowExpr GhciStmtCtxtPatGuard ParStmtCtxt TransStmtCtxt HsStmtContextHsDeclsroleAnnotDeclNameannProvenanceName_maybe docDeclDoc lvectInstDecl lvectDeclNamecollectRuleBndrSigTysnoForeignExportCoercionYetnoForeignImportCoercionYetinstDeclDataFamInstspprDataFamInstFlavourhsConDeclArgTyspprTyClDeclFlavourcountTyClDeclstyClDeclTyVarstcdName tyClDeclLNametyFamInstDeclLNametyFamInstDeclNameisDataFamilyDeclisClosedTypeFamilyInfoisOpenTypeFamilyInfoisTypeFamilyDecl isFamilyDecl isClassDecl isSynDecl isDataDecl mkTyClGrouptyClGroupConcat appendGroups emptyRnGroup emptyRdrGroupLHsDeclTyClDInstDDerivDValDSigDDefDForDWarningDAnnDRuleDVectDSpliceDDocD QuasiQuoteD RoleAnnotDHsDeclhs_docshs_vects hs_ruledshs_annds hs_warndshs_fordshs_defdshs_fixds hs_derivds hs_instds hs_tyclds hs_splcdshs_valdsHsGroup LSpliceDecl SpliceDecl LTyClDecl tcdExtNametcdLName ForeignTypetcdFamFamDecltcdFVstcdRhs tcdTyVarsSynDecl tcdDataDefnDataDecltcdDocs tcdATDefstcdATstcdMethstcdSigstcdFDstcdCtxt ClassDeclTyClDecl group_roles group_tyclds TyClGroup LFamilyDecl fdKindSigfdTyVarsfdLNamefdInfo FamilyDecl DataFamilyOpenTypeFamilyClosedTypeFamily FamilyInfo dd_derivsdd_cons dd_kindSigdd_cTypedd_ctxtdd_ND HsDataDefnNewTypeDataType NewOrDataLConDecl con_old_reccon_doccon_res con_detailscon_cxt con_qvars con_explicitcon_nameConDeclHsConDeclDetailsResTyH98 ResTyGADTResType LTyFamInstEqntfie_rhs tfie_pats tfie_tycon TyFamInstEqnLTyFamInstDecltfid_fvstfid_eqn TyFamInstDeclLDataFamInstDecldfid_fvs dfid_defn dfid_pats dfid_tyconDataFamInstDecl LClsInstDeclcid_datafam_instscid_tyfam_instscid_sigs cid_binds cid_poly_ty ClsInstDecl LInstDeclcid_instClsInstD dfid_inst DataFamInstD tfid_inst TyFamInstDInstDecl LDerivDecl deriv_type DerivDecl LDefaultDecl DefaultDecl LForeignDecl ForeignImport ForeignExport ForeignDeclCImportCLabel CFunctionCWrapper CImportSpecCExport LRuleDeclHsRuleRuleDeclRuleBndr RuleBndrSig LVectDeclHsVectHsNoVect HsVectTypeIn HsVectTypeOut HsVectClassInHsVectClassOut HsVectInstIn HsVectInstOutVectDeclLDocDeclDocCommentNextDocCommentPrevDocCommentNamedDocGroupDocDecl LWarnDeclWarningWarnDeclLAnnDecl HsAnnotationAnnDeclValueAnnProvenanceTypeAnnProvenanceModuleAnnProvenance AnnProvenanceLRoleAnnotDecl RoleAnnotDeclHsPathsPatNeedsParensisIrrefutableHsPatlooksLazyPatBindisStrictHsBind isStrictLPat mkCharLitPatmkNilPatmkPrefixConPat pprParendLPat hsRecFields hsConPatArgsInPatOutPatWildPatVarPatLazyPatAsPatParPatBangPatListPatTuplePatPArrPatConPatInpat_wrappat_args pat_binds pat_dictspat_tvs pat_arg_tyspat_con ConPatOutViewPat SplicePat QuasiQuotePatLitPatNPat NPlusKPatSigPatIn SigPatOutCoPat PrefixConRecConInfixCon HsConDetailsHsConPatDetails rec_dotdotrec_flds HsRecFieldshsRecPun hsRecFieldArg hsRecFieldId HsRecFieldHsBinds pprMinimalSigpprTcSpecPragspprSpec pprVarSig pragBrackets pprPatSynSigppr_sighsSigDoc isMinimalLSig isInlineLSig isPragLSigisSpecInstLSig isSpecLSig isTypeLSig isVanillaLSig isFixityLSigisDefaultMethod hasSpecPrags noSpecPragsisEmptyIPBindspprTicks ppr_monobindgetTypeSigNamesplusHsValBindsisEmptyLHsBinds emptyLHsBindsemptyValBindsOutemptyValBindsInisEmptyValBindsisEmptyLocalBindsemptyLocalBinds pprDeclListpprLHsBindsForUser pprLHsBindsplaceHolderNames HsLocalBinds HsValBinds HsIPBindsEmptyLocalBindsHsLocalBindsLR ValBindsIn ValBindsOut HsValBindsLRLHsBindLHsBindsHsBind LHsBindsLR LHsBindLRfun_tickbind_fvs fun_co_fn fun_matches fun_infixfun_idFunBind pat_ticks pat_rhs_typat_rhspat_lhsPatBind var_inlinevar_rhsvar_idVarBind abs_binds abs_ev_binds abs_exports abs_ev_varsabs_tvsAbsBinds patsyn_dir patsyn_def patsyn_args patsyn_id PatSynBindHsBindLR abe_pragsabe_wrapabe_monoabe_polyABEABExportIPBindsLIPBindIPBindLSigTypeSig PatSynSig GenericSigIdSigFixSig InlineSigSpecSig SpecInstSig MinimalSigSig LFixitySig FixitySigIsDefaultMethod SpecPrags TcSpecPrags LTcSpecPragSpecPrag TcSpecPrag InfixPatSyn PrefixPatSynHsPatSynDetailsUnidirectionalImplicitBidirectional HsPatSynDirLR HsPatSynDirLexermkPStateTokenPOkPFailed ParseResultunPP FamInstEnv pprFamInstFamInstInstEnvpprInstanceHdr pprInstanceinstanceDFunIdClsInst isBottomingId isDeadBinder isImplicitId idDataConisDataConWorkId isFCallId isPrimOpIdisClassOpId_maybeisRecordSelectorrecordSelectorFieldLabelidTypeErrUtilsprettyPrintGhcErrorspprErrMsgBagWithLocHsImpExp pprImpExpieNamesieNamesimpleImportDecl LImportDecl ideclHidingideclAs ideclImplicitideclQualified ideclSafe ideclSource ideclPkgQual ideclName ImportDeclLIEIEVar IEThingAbs IEThingAll IEThingWithIEModuleContentsIEGroupIEDoc IEDocNamedIEHsTypespprParendHsTypepprConDeclFieldsppr_hs_contextpprHsContextNoArrow pprHsContext pprHsForAllsplitHsFunTypesplitLHsClassTy_maybesplitHsClassTy_maybesplitLHsInstDeclTy_maybe mkHsAppTyshsTyGetAppHead_maybe splitHsAppTyshsLTyVarLocNameshsLTyVarLocNamehsLKiTyVarNames hsLTyVarNames hsLTyVarName hsTyVarName hsExplicitTvsmkExplicitHsForAllTymkImplicitHsForAllTymkHsOpTy hsIPNameFS mkHsWithBndrs hsQTvBndrsmkHsQTvsgetBangStrictness getBangType HsQuasiQuote LBangTypeBangType LHsContext HsContextLHsTypeHsKindLHsKind LHsTyVarBndrhsq_tvshsq_kvsHsQTvs LHsTyVarBndrshswb_tvshswb_kvshswb_ctsHsWB HsWithBndrsHsIPName UserTyVar KindedTyVar HsTyVarBndr HsForAllTyHsTyVarHsAppTyHsFunTyHsListTyHsPArrTy HsTupleTyHsOpTyHsParTy HsIParamTyHsEqTy HsKindSigHsQuasiQuoteTy HsSpliceTyHsDocTyHsBangTyHsRecTyHsCoreTyHsExplicitListTyHsExplicitTupleTyHsTyLitHsWrapTyHsNumTyHsStrTyWpKiApps HsTyWrapperHsUnboxedTuple HsBoxedTupleHsConstraintTupleHsBoxedOrConstraintTuple HsTupleSortExplicitImplicitHsExplicitFlag cd_fld_doc cd_fld_type cd_fld_name ConDeclFieldDataCondataConUserType dataConSigdataConStrictMarksdataConFieldLabelsdataConIsInfixisMarkedStrict HsUserBangHsNoBangHsUnpackHsStrictHsBang MarkedStrictNotMarkedStrictStrictnessMark overLitTypeplaceHolderKindplaceHolderType PostTcKind PostTcTypeHsChar HsCharPrimHsString HsStringPrimHsInt HsIntPrim HsWordPrim HsInt64Prim HsWord64Prim HsIntegerHsRat HsFloatPrim HsDoublePrimol_type ol_witness ol_rebindableol_valOverLit HsIntegral HsFractional HsIsString OverLitValTypesplitForAllTys funResultTyKindsynTyConResKindTysPrim alphaTyVarsTypeRep pprTypeApp pprForAllpprThetaArrowTy pprParendType ThetaTypeAnIdAConLikeATyConACoAxiomTyContyConClass_maybe isClassTyConsynTyConRhs_maybesynTyConDefn_maybe tyConDataConsisOpenFamilyTyCon isFamilyTyCon isSynTyCon isNewTyCon isPrimTyCon tyConArity tyConTyVars pprFundeps classTvsFdsclassATs classMethods classSCThetaRdrNameUnqualQualConLike RealDataCon dataConTyConisVanillaDataCon isFunTyConVar isExportedId isGlobalId isLocalIdTyVarNameisExternalName nameSrcSpangetName getOccName NamedThingDynFlagsxFlagssupportedLanguagesAndExtensionsxoptgoptdefaultObjectTargetOpt_DumpToFileOpt_D_faststring_statsOpt_D_dump_minimal_importsOpt_DoCoreLintingOpt_DoStgLintingOpt_DoCmmLintingOpt_DoAsmLintingOpt_NoLlvmManglerOpt_WarnIsErrorOpt_PrintExplicitForallsOpt_PrintExplicitKindsOpt_StrictnessOpt_LateDmdAnalOpt_KillAbsenceOpt_KillOneShotOpt_FullLaziness Opt_FloatInOpt_Specialise Opt_StaticArgumentTransformationOpt_CSEOpt_LiberateCaseOpt_SpecConstrOpt_DoLambdaEtaExpansionOpt_IgnoreAssertsOpt_DoEtaReduction Opt_CaseMergeOpt_UnboxStrictFieldsOpt_UnboxSmallStrictFieldsOpt_DictsCheapOpt_EnableRewriteRules Opt_VectoriseOpt_VectorisationAvoidance Opt_RegsGraphOpt_RegsIterativeOpt_PedanticBottoms Opt_LlvmTBAAOpt_LlvmPassVectorsInRegistersOpt_IrrefutableTuples Opt_CmmSinkOpt_CmmElimCommonBlocksOpt_OmitYieldsOpt_SimpleListLiteralsOpt_FunToThunkOpt_DictsStrictOpt_DmdTxDictSelOpt_LoopificationOpt_IgnoreInterfacePragmasOpt_OmitInterfacePragmasOpt_ExposeAllUnfoldingsOpt_AutoSccsOnIndividualCafsOpt_ProfCountEntriesOpt_PpOpt_ForceRecompOpt_ExcessPrecisionOpt_EagerBlackHoling Opt_NoHsMain Opt_SplitObjs Opt_StgStatsOpt_HideAllPackagesOpt_PrintBindResult Opt_HaddockOpt_HaddockOptionsOpt_Hpc_No_AutoOpt_BreakOnExceptionOpt_BreakOnErrorOpt_PrintEvldWithShowOpt_PrintBindContentsOpt_GenManifestOpt_EmbedManifestOpt_EmitExternalCoreOpt_SharedImplibOpt_BuildingCabalPackageOpt_IgnoreDotGhciOpt_GhciSandboxOpt_GhciHistoryOpt_HelpfulErrorsOpt_DeferTypeErrors Opt_ParallelOpt_GranMacrosOpt_PICOpt_SccProfilingOn Opt_TickyOpt_Ticky_Allocd Opt_Ticky_LNEOpt_Ticky_Dyn_Thunk Opt_Static Opt_RPathOpt_RelativeDynlibPathsOpt_Hpc Opt_FlatCacheOpt_SimplPreInliningOpt_ErrorSpansOpt_PprCaseAsLetOpt_SuppressCoercionsOpt_SuppressVarKindsOpt_SuppressModulePrefixesOpt_SuppressTypeApplicationsOpt_SuppressIdInfoOpt_SuppressTypeSignaturesOpt_SuppressUniques Opt_RunCPS Opt_RunCPSZOpt_AutoLinkPackagesOpt_ImplicitImportQualifiedOpt_KeepHiDiffsOpt_KeepHcFilesOpt_KeepSFilesOpt_KeepTmpFilesOpt_KeepRawTokenStreamOpt_KeepLlvmFilesOpt_BuildDynamicTooOpt_DistrustAllPackagesOpt_PackageTrust GeneralFlagSf_None Sf_UnsafeSf_TrustworthySf_SafeSf_SafeInferredSafeHaskellModertccInfortldInfoavx512pfavx512favx512eravx512cdavx2avx sseVersionnextWrapperNum llvmVersioninteractivePrintprofAuto traceLevel ghciScriptshaddockOptionsflushErrflushOut log_action ghciHistSize maxWorkerArgsufDearOpufKeenessFactorufDictDiscountufFunAppDiscountufUseThresholdufCreationThresholdextensionFlags extensionswarnUnsafeOnLoc warnSafeOnLoc pkgTrustOnLoc newDerivOnLocthOnLoc safeHaskelllanguage warningFlags generalFlags dumpFlagsgeneratedDumpsnextTempSuffixfilesToNotIntermediateClean dirsToClean filesToCleanpkgState pkgDatabase 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 ruleCheckshouldDumpSimplPhasemaxSimplIterations simplPhasesoptLevel verbositysettings hscTargetghcLinkghcModeHscCHscAsmHscLlvmHscInterpreted HscNothing HscTarget CompManagerOneShotMkDependGhcModeNoLink LinkBinary LinkInMemory LinkDynLib LinkStaticLibGhcLink LogAction DriverPhases HsSrcFile HscSourceCppPhase StaticFlagsparseStaticFlagsHsDoc ppr_mbDoc HsDocString LHsDocStringpprLExprpprExprpprUntypedSplice pprPatBind pprFunBindHsCmd MatchGroupLHsExpr SyntaxExprPatLPat mkLocMessage SevOutputSevDumpSevInteractiveSevInfo SevWarningSevErrorSevFatalSeverityMsgDocSrcLoc isSubspanOfspansleftmost_largestleftmost_smallest rightmost cmpLocated eqLocatedaddCLoc combineLocsmkGeneralLocatednoLocgetLocunLoc srcSpanEnd srcSpanStart srcSpanEndColsrcSpanStartColsrcSpanEndLinesrcSpanStartLine isGoodSrcSpan mkSrcSpan srcLocSpan noSrcSpan srcLocCol srcLocLine srcLocFilenoSrcLoc mkRealSrcLocmkSrcLoc RealSrcLoc UnhelpfulLoc srcSpanFile RealSrcSpan UnhelpfulSpanSrcSpanL GenLocatedLocatedBag bagToListModule pprModulemkModule mkModuleNamemoduleNameString ml_obj_file ml_hi_file ml_hs_file ModLocation BasicTypesfailed succeeded compareFixity negateFixity defaultFixity maxPrecedenceFixityInfixLInfixRInfixNFixityDirection SucceededFailed SuccessFlagHValueTyThingPredType OutputableshowSDocUnqualshowSDocForUsershowSDoc withPprStyledefaultErrStyle alwaysQualifyPprStylePrintUnqualifiedppr pprUserLengthpprColsuseUnicodeQuotes nameModulePrettyDoc StringBufferstringToStringBuffer FastStringfsLitPanicshowGhcException PhaseFailedSignal UsageError CmdLineErrorPprPanicSorryPprSorryInstallationError ProgramErrorPprProgramError Exceptiongfinallygbracketgcatch moduleNamemodulePackageId PackageIdSDocghc-mtl-1.2.1.0Control.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$fMonadTransInterpreterT ParseErrorParseOk parseExpr runParserfailOnParseError sandboxed old_sandboxed usingAModuletypeChecks_unsandboxedtypeOf_unsandboxedonCompilationErrorbaseGHC.ShowShowunsafeInterprettransformers-0.3.0.0Control.Monad.IO.ClassMonadIOliftIOControl.Monad.Trans.Classlift MonadTrans