h"0('      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO 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 { | } ~                                                                                                                                                                                                                        None?ghciAn efficient serialiser of .ghciAn efficient deserialiser of .None Safe-Inferred8:%   Noneghci if it's a known OS, or  otherwise.""None2 %ghciAn HValueRef with a finalizer'ghciA reference to a remote value. These are allocated and freed explicitly.0ghciMake a reference to a local value that we can send remotely. This reference will keep the value that it refers to alive until 2 is called.1ghciConvert an HValueRef to an HValue. Should only be used if the HValue originated in this process.2ghci4Release an HValueRef that originated in this process3ghci Create a % from a '). The finalizer should arrange to call  freeHValueRef on the &. (since this function needs to be called in the process that created the &3, it cannot be called directly from the finalizer).4ghciUse a $$%&'()*+,-./0123456*+,-.()'012&/%34$56Nonev?ghciRetain CAFs unconditionally in linked Haskell code. Note that this prevents any code from being unloaded. It should not be necessary unless you are GHCi or hs-plugins, which needs to be able call any function in the compiled code.@ghciDo not retain CAFs. Everything reachable from foreign exports will be retained, due to the StablePtrs created by the module initialisation code. unloadObj frees these StablePtrs, which will allow the CAFs to be GC'd and the code to be removed.DghciloadDLL loads a dynamic library using the OS's native linker (i.e. dlopen() on Unix, LoadLibrary() on Windows). It takes either an absolute pathname to the file, or a relative filename (e.g. "libfoo.so" or "foo.dll"). In the latter case, loadDLL searches the standard locations for the appropriate library.Gghci unloadObj drops the given dynamic library from the symbol table as well as enables the library to be removed from memory during a future major GC.HghcipurgeObj drops the symbols for the dynamic library from the symbol table. Unlike G, the library will not be dropped memory during a future major GC.>?@ABCDEFGHIJKLA>?@DEFGHBCLIJK Safe-InferredMghciInstall standard signal handlers for catching ^C, which just throw an exception in the target thread. The current target thread is the thread at the head of the list in the MVar passed to installSignalHandlers.MMNoneNghciUsed by GHCi to add an SPT entry for a set of interactive bindings.NN None '(.>> None #$'(28&ghciThe server-side Template Haskell state. This is created by the StartTH message. A new one is created per module that GHC typechecks.ghci+persistent data between splices in a moduleghci#location for current splice, if anyghcipipe to communicate with GHCghciWe can pass simple expressions to EvalStmt, consisting of values and application. This allows us to wrap the statement to be executed in another function, which is used by GHCi to implement :set args and :set prog. It might be worthwhile to extend this little language in the future.ghciMessages sent back to GHC from GHCi.TH, to implement the methods of Quasi. For an overview of how TH works with Remote GHCi, see Note [Remote Template Haskell] in GHCi.TH.ghciIndicates that this RunTH is finished, and the next message will be the result of RunTH (a QResult).ghciTemplate Haskell return valuesghci1RunTH finished successfully; return value followsghciRunTH threw an exceptionghci RunTH called ghciA  Message a+ is a message that returns a value of type a2. These are requests sent from GHC to the server.ghciExit the iserv processghciCreate a set of BCO objects, and return HValueRefs to them Note: Each ByteString contains a Binary-encoded [ResolvedBCO], not a ResolvedBCO. The list is to allow us to serialise the ResolvedBCOs in parallel. See  createBCOs in compilerghci GHCi.hsc.ghciRelease &sghci'Add entries to the Static Pointer TableghciMalloc some data and return a * to itghciCalls ghci Free data previously created by ghci&Create an info table for a constructorghciEvaluate a statementghci3Resume evaluation of a statement after a breakpointghci4Abandon evaluation of a statement after a breakpointghciEvaluate something of type  IO StringghciEvaluate something of type String -> IO StringghciEvaluate something of type IO ()ghci5Create a set of CostCentres with the same module nameghciShow a  as a [String]ghci&Create a new array of breakpoint flagsghciEnable a breakpointghci'Query the status of a breakpoint (True  = enabled)ghci2Get a reference to a free variable at a breakpointghci:Start a new TH module, return a state token that should beghciEvaluate a TH computation.Returns a ByteString, because we have to force the result before returning it to ensure there are no errors lurking in it. The TH types don't have NFData instances, and even if they did, we have to serialize the value anyway, so we might as well serialize it to force it.ghciRun the given mod finalizers.ghciRemote interface to GHC.Exts.Heap.getClosureData. This is used by the GHCi debugger to inspect values in the heap for :print and type reconstruction.ghci;Evaluate something. This is used to support :force in GHCi.ghci6Resume forcing a free variable in a breakpoint (#2950) None #$028"ghci1The exception thrown by "fail" in the GHCiQ monadghci7The monad in which we run TH computations on the serverghciCreate a new instance of ghciSend a  to GHC and return the result.ghciThe implementation of the  message: create a new IORef QState, and return a RemoteRef to it.ghciRuns the mod finalizers.5The references must be created on the caller process.ghciThe implementation of the  messageghciRun a Q computation.ghciThe TH state, created by ghciThe splice to runghciWhat kind of splice it isghciThe source locationghci&%None #$'((ghciProcess the Seq message to force a value. #2950 If during this processing a breakpoint is hit, return an EvalBreak value in the EvalStatus to the UI process, otherwise return an EvalComplete. The UI process has more and therefore also can show more information about the breakpoint than the current iserv process.ghciProcess a ResumeSeq message. Continue the :force processing #2950 after a breakpoint. !"#$%&'()*+,-./01234567899::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] ^ _ ` 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 { | } ~                                                                                                                                                                                                                                          ghci-8.11.0.20200524GHCi.BinaryArrayGHCi.BreakArrayGHCi.FFIGHCi.InfoTableGHCi.RemoteTypes GHCi.ObjLink GHCi.SignalsGHCi.StaticPtrTableGHCi.TH.Binary GHCi.MessageGHCi.THSizedSeqGHCi.ResolvedBCOGHCi.CreateBCOGHCi.RunprepareForeignCallputArraygetArray BreakArrayBAshowBreakArray setBreakOn setBreakOffgetBreak newBreakArray C_ffi_cifFFIConvFFICCall FFIStdCallFFITypeFFIVoid FFIPointerFFIFloat FFIDoubleFFISInt8 FFISInt16 FFISInt32 FFISInt64FFIUInt8 FFIUInt16 FFIUInt32 FFIUInt64prepForeignCallfreeForeignCallInfo $fShowFFIConv$fGenericFFIConv$fBinaryFFIConv $fShowFFIType$fGenericFFIType$fBinaryFFITypemkConInfoTable $fShowArch ForeignHValue ForeignRef HValueRef RemoteRefHValue RemotePtr toRemotePtr fromRemotePtr castRemotePtr toHValueRef mkRemoteReflocalRef freeRemoteRef mkForeignRefwithForeignRefunsafeForeignRefToRemoteReffinalizeForeignRef $fShowHValue$fNFDataForeignRef$fShowRemoteRef$fBinaryRemoteRef$fNFDataRemotePtr$fBinaryRemotePtr$fShowRemotePtrShouldRetainCAFs RetainCAFsDontRetainCAFs initObjLinker lookupSymbol lookupClosureloadDLL loadArchiveloadObj unloadObjpurgeObjaddLibrarySearchPathremoveLibrarySearchPathfindSystemLibrary resolveObjsinstallSignalHandlers sptAddEntry $fBinaryBytes$fBinarySerialized$fBinaryPatSynArgs$fBinaryPatSynDir$fBinaryTypeFamilyHead$fBinaryFamilyResultSig$fBinaryInjectivityAnn$fBinaryClause$fBinaryModuleInfo$fBinaryAnnLookup $fBinaryCon$fBinaryOccName$fBinaryFixityDirection$fBinaryDecidedStrictness$fBinarySourceStrictness$fBinarySourceUnpackedness $fBinaryBang$fBinaryForeign$fBinaryCallconv$fBinarySafety$fBinaryPragma$fBinaryInline$fBinaryRuleMatch$fBinaryPhases$fBinaryRuleBndr$fBinaryAnnTarget$fBinaryFunDep$fBinaryTySynEqn$fBinaryFixity $fBinaryMatch $fBinaryBody $fBinaryGuard$fBinaryDerivStrategy$fBinaryDerivClause$fBinaryOverlap $fBinaryDec $fBinaryExp $fBinaryPat $fBinaryStmt $fBinaryRange $fBinaryLit $fBinaryRole$fBinaryTyVarBndr$fBinarySpecificity $fBinaryTyLit $fBinaryType $fBinaryInfo$fBinaryModule$fBinaryNameSpace$fBinaryPkgName$fBinaryNameFlavour$fBinaryModName $fBinaryName $fBinaryLocPipepipeRead pipeWrite pipeLeftoversMsgQStateqsMap qsLocationqsPipe THResultTypeTHExpTHPatTHTypeTHDec THAnnWrapperTHResult THException THCompleteSerializableExceptionEUserInterrupt EExitCodeEOtherException EvalResult EvalException EvalSuccess EvalStatus_ EvalComplete EvalBreak EvalStatusEvalExprEvalThisEvalApp ResumeContextresumeBreakMVarresumeStatusMVarresumeThreadIdEvalOptsuseSandboxThread singleStepbreakOnException breakOnErrorTHMsg THMessageNewNameReport LookupNameReify ReifyFixity ReifyTypeReifyInstances ReifyRolesReifyAnnotations ReifyModuleReifyConStrictnessAddDependentFile AddTempFileAddModFinalizer AddCorePlugin AddTopDeclsAddForeignFilePath IsExtEnabled ExtsEnabled StartRecover EndRecover FailIfErrs RunTHDoneQResultQDone QExceptionQFailMessageShutdown RtsRevertCAFs InitLinker LookupSymbol LookupClosureLoadDLL LoadArchiveLoadObj UnloadObjAddLibrarySearchPathRemoveLibrarySearchPath ResolveObjsFindSystemLibrary CreateBCOsFreeHValueRefs AddSptEntry MallocData MallocStringsPrepFFIFreeFFIMkConInfoTableEvalStmt ResumeStmt AbandonStmt EvalStringEvalStringToStringEvalIO MkCostCentresCostCentreStackInfo NewBreakArrayEnableBreakpointBreakpointStatusGetBreakpointVarStartTHRunTHRunModFinalizers GetClosureSeq ResumeSeq getTHMessage putTHMessagetoSerializableExceptionfromSerializableException getMessage putMessage remoteCall remoteTHCall writePipereadPipe$fBinaryGenClosure$fBinaryPrimType$fBinaryClosureType$fBinaryStgInfoTable$fBinaryFunPtr $fBinaryPtr$fBinaryExitCode$fBinaryQResult$fBinaryEvalOpts$fBinaryEvalExpr$fBinarySerializableException$fBinaryEvalResult$fBinaryEvalStatus_$fBinaryTHResult$fBinaryTHResultType $fShowQState$fEnumTHResultType$fShowTHResultType$fGenericTHResultType$fGenericTHResult$fShowTHResult$fGenericEvalStatus_$fShowEvalStatus_$fGenericEvalResult$fShowEvalResult$fGenericSerializableException$fShowSerializableException$fGenericEvalExpr$fShowEvalExpr$fGenericEvalOpts$fShowEvalOpts$fGenericQResult $fShowQResult$fShowTHMessage $fShowMessageGHCiQExceptionstartTHrunModFinalizerRefsrunTH$fMonadIOGHCiQ $fMonadGHCiQ$fApplicativeGHCiQ$fFunctorGHCiQ $fQuasiGHCiQ$fMonadFailGHCiQ$fExceptionGHCiQException$fShowGHCiQExceptionemptySSaddToSS addListToSSssEltssizeSS$fNFDataSizedSeq$fBinarySizedSeq$fTraversableSizedSeq$fFoldableSizedSeq$fFunctorSizedSeq$fGenericSizedSeq$fShowSizedSeqResolvedBCOPtrResolvedBCORefResolvedBCOStaticPtrResolvedBCOPtrBCOResolvedBCOPtrBreakArray ResolvedBCOresolvedBCOIsLEresolvedBCOArityresolvedBCOInstrsresolvedBCOBitmapresolvedBCOLitsresolvedBCOPtrsisLittleEndian$fBinaryResolvedBCOPtr$fBinaryResolvedBCO$fGenericResolvedBCOPtr$fShowResolvedBCOPtr$fGenericResolvedBCO$fShowResolvedBCO createBCOsrunredirectInterrupts array-0.5.4.0Data.Array.BaseUArraymArchbase GHC.MaybeJustNothingControl.Monad.Failfail GHC.Stack.CCSCostCentreStackGHCiQ initQStateghcCmdrunTHQdoSeq resumeSeq