úÎ!kdM      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLNone "$&'*EX_dm2zcontextThe  controls the behavior used by Context.ConcurrentB when propagating context from a "parent" thread to a new thread.contextBOpaque type that manages thread-indexed storage of context values. contextëSet the default context value for a store. If the store was initialized as an empty store, this function converts it to a non-empty store. If the store was initialized as a non-empty store, this overwrites the default context value.©One common use case for this function is to convert an empty store in a global variable to a non-empty store while the application is initializing/acquiring resources: ÿdepsStore :: Store Dependencies depsStore = unsafePerformIO $ Context.newStore Context.defaultPropagation Nothing {-# NOINLINE depsStore #-} main :: IO () main = do let config = -- ... withDependencies config \deps -> do Context.setDefault depsStore deps -- ...!contextCProvide the calling thread its current context from the specified  , if present.#context$Register a context in the specified L on behalf of the calling thread, for the duration of the specified action.$contextProvides a new x. This is a lower-level function and is provided mainly to give library authors more fine-grained control when using a  as an implementation detail.4'Context.withNonEmptyStore'/'Context.withEmptyStore'D should generally be preferred over this function when acquiring a .%contextCreates a new 2. This is a lower-level function and is provided only' to support the use case of creating a  as a global: wstore :: Store Int store = unsafePerformIO $ Context.newStore Context.defaultPropagation Nothing {-# NOINLINE store #-})Outside of the global variable use case, , , or even the lower-level  should always3 be preferred over this function when acquiring a .$contextThe strategy used by Context.ConcurrentA for propagating context from a "parent" thread to a new thread.contextThe default value for the .+Providing a value will produce a non-empty  such that  ,  , and   are guaranteed to never throw   when applied to this . Providing M will produce an empty  such that  ,  , and   will throw  ? when the calling thread has no registered context. Providing M is useful when the = will contain context values that are always thread-specific.%contextThe strategy used by Context.ConcurrentA for propagating context from a "parent" thread to a new thread.contextThe default value for the .+Providing a value will produce a non-empty  such that  ,  , and   are guaranteed to never throw   when applied to this . Providing M will produce an empty  such that  ,  , and   will throw  ? when the calling thread has no registered context. Providing M is useful when the = will contain context values that are always thread-specific. !"#$%&'()*+,-.$%#&'!" ()*+,-.None$*SX_7T /contextSee N.0contextSee O.1contextSee P.2contextSee Q.3contextSee R.4contextSee S.5contextSee T.6contextSee U.7contextSee V.;WXYZ[\]^_`abcdefghijklmn opqrstuvwx/01234567/01234567   None$79;m@o8context The default  . For any   initialized with this , Context.ConcurrentT will automatically propagate the "parent" thread's latest context value from this  ? so that that context is accessible in a newly-created thread.9contextThis ) does no propagation whatsoever. For any   initialized with this , Context.Concurrent will not; propagate the "parent" thread's context values from this  ) in any way to the newly-created thread. $%89$% 89None$79;mS|:context%An exception which may be thrown via @, A, and ?= when the calling thread does not have a registered context.=contextProvides a new, non-empty h that uses the specified context value as a default when the calling thread has no registered context. @, A, and ? are guaranteed to never throw : when applied to a non-empty .>contextProvides a new, empty . @, A, and ? will throw :E when the calling thread has no registered context. Useful when the = will contain context values that are always thread-specific.?context5Adjust the calling thread's context in the specified 5 for the duration of the specified action. Throws a :4 when the calling thread has no registered context.@contextCProvide the calling thread its current context from the specified  . Throws a :4 when the calling thread has no registered context.AcontextRProvide the calling thread a selection from its current context in the specified  . Throws a :4 when the calling thread has no registered context.BcontextRProvide the calling thread a selection from its current context in the specified  , if present.MWXYZ[\]^_`abcdefghijklmn opqrstuvwx !#$%/0123456789:;<=>?@AB =>#?@A!B:;<NonebAGcontext#Register a context in the implicit L on behalf of the calling thread, for the duration of the specified action.Hcontext4Adjust the calling thread's context in the implicit 5 for the duration of the specified action. Throws a :4 when the calling thread has no registered context.IcontextBProvide the calling thread its current context from the implicit  . Throws a :4 when the calling thread has no registered context.JcontextQProvide the calling thread a selection from its current context in the implicit  . Throws a :4 when the calling thread has no registered context.KcontextBProvide the calling thread its current context from the implicit  , if present.LcontextQProvide the calling thread a selection from its current context in the implicit  , if present.MWXYZ[\]^_`abcdefghijklmn opqrstuvwx $%/0123456789:;<=>GHIJKL =>GHIJKL:;<Safecãyz{|}~€ !"##$%&'()**+,  -./0123456789:;<=>?@ABCDEFG  H   IJKLM2   0INO=>?@ABCDEPQPRPSPTPUPVPWXYXZX[X\]^]_]`]abcbdbebfbgbhbibjbklmlnlolplqlrlsltlulvwxyz{|}~%context-0.1.0.0-3hddOWlDNv2wEyCRw8vfFContext.ConcurrentContext.InternalContext.StorageContextContext.ImplicitwithNonEmptyStorewithEmptyStore withStoremineminesadjustNotFoundExceptionStore Paths_contextbaseControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadisCurrentThreadBoundrtsSupportsBoundThreads GHC.Conc.IO threadDelay GHC.Conc.SyncmkWeakThreadIdthreadCapabilityyield myThreadIdthrowTo killThreadsetNumCapabilitiesgetNumCapabilitiesThreadIdRegistry$sel:ref:RegistryAnyStore MkAnyStorePropagationStrategy NoPropagationLatestPropagationState$sel:stacks:State$sel:def:State$sel:ref:Store$sel:key:Store setDefaultmineMaymineMayOnDefaultusenewStorepushpopregistry emptyRegistrywithPropagatorwithRegisteredPropagatorregister unregisterbugforkIO forkFinallyforkIOWithUnmaskforkOnforkOnWithUnmaskforkOSforkOSWithUnmaskrunInBoundThreadrunInUnboundThreaddefaultPropagation noPropagationthreadIdminesMay$fEqNotFoundException$fGenericNotFoundException$fShowNotFoundException$fExceptionNotFoundException GHC.MaybeNothingControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName