úÎ\(Msy      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxNone4Generalized version of .Generalized version of y.Generalized version of z.Generalized version of {None 4>ILN  A clone of | for MonadProcessBase. A clone of } for MonadProcessBase.  A clone of ~ for MonadProcessBase.  A Clone of 2 specialized to the Process monad. This uses the €Ä typeclass for transformer default instances, so the core wrapping/unwrapping logic is not duplicated. This class is needed because the MonadBaseControl instance for Process has IO as the base.cA class into instances of which Process operations can be lifted; similar to MonadIO or MonadBase. lift a base # computation into the current monad A clone of ‚¯ for MonadProcessBase. This re-uses the MonadTransControl typeclass the same way as the original; core wrapping/unwrapping logic for each transformer type is not duplicated. A clone of ¯ for MonadProcessBase. This re-uses the MonadTransControl typeclass the same way as the original; core wrapping/unwrapping logic for each transformer type is not duplicated. A clone of ƒ for MonadProcessBase. A clone of „ for MonadProcessBase.%  !"#$%&'()*+  % +*)('&%$#"! !   !"#$%&'()*+None4INE-Generalized version of ….Generalized version of †/Generalized version of ‡0Generalized version of ˆ1Generalized version of ‰2Generalized version of Š3Generalized version of ‹4Generalized version of Œ5Generalized version of 6Generalized version of Ž7Generalized version of 8Generalized version of 9Generalized version of ‘:Generalized version of ’;Generalized version of “<Generalized version of ”=Generalized version of •>Generalized version of –?Generalized version of —@Generalized version of ˜AGeneralized version of ™BGeneralized version of šCGeneralized version of ›DGeneralized version of œEGeneralized version of FGeneralized version of žGGeneralized version of ŸHGeneralized version of  IGeneralized version of ¡JGeneralized version of ¢KGeneralized version of £LGeneralized version of ¤MGeneralized version of ¥NGeneralized version of ¦OGeneralized version of §PGeneralized version of ¨QGeneralized version of ©RGeneralized version of ªSGeneralized version of «TGeneralized version of ¬UGeneralized version of ­VGeneralized version of ®WGeneralized version of ¯XGeneralized version of °YGeneralized version of ±ZGeneralized version of ²[Generalized version of ³\Generalized version of ´]Generalized version of µ^Generalized version of ¶_Generalized version of ·`Generalized version of ¸aGeneralized version of ¹bGeneralized version of ºcGeneralized version of »dGeneralized version of ¼eGeneralized version of ½fGeneralized version of ¾gGeneralized version of ¿hGeneralized version of ÀiGeneralized version of ÁjGeneralized version of ÂkGeneralized version of ÃlGeneralized version of ÄmGeneralized version of ÅnGeneralized version of ÆoGeneralized version of ÇpGeneralized version of ÈqGeneralized version of ÉF,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq›ÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ     ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqF,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqF,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqNone+4NrERepresents a handle to a process runner that communicates through a . Create with u or v+. Use this to call process actions (using x or wÐ) from any IO that will be executed in a single process that will have a persistent pid and mailbox across invocations. Sharing a single proxy between threads may yield poor performance and is not advised.t A variant of  . which returns a value. This works just like  * by forking a new process with a captured  v, but it will return the result of the computation. If the computation throws an exception, it will be re-thrown by t in the calling thread.u!Spawn a new process and return a r handle for it.v.Same as spawnProxy but can be used from any IO/spawnProxyIO node = fromProcess node spawnProxywUse a r created with uF to run a Process computation in the existing Process asynchronously.xUse a r created with uX to run a Process computation in the existing Process and return the result in any IO. rstuvwx rstuvwxtrssuvwxrstuvwx !    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`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 ’[ ’\ ’] ’^ ’_ ’` ’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 ’{ ’| ’} ’~”•– ’— ’˜ ’™ ’š ’› ’œ ’ ’ž ’Ÿ ’  ’¡ ’¢ ’¢ £ ¤ ¥ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ¯ ° ° ± ± ² ² ³ ³ ´ ´ µ µ ¶ · ¸ ¹ º » ¼ ½ ½ ¾ ¾ ¿ ¿ À Á  à Ä Å Å Æ Ç È É Ê Ë ËÌÍÎÏÐÑÏÐÒÏÐÓÏÐÔÕÖ×ÕÖØÕÖÙÕÖÚÕÖÛÕÖÜÕÖÝÕÖÞÕÖßÕÖàÕÖàáâãdistr_3azLpqws2lB3lI215jUyLU'Control.Distributed.Process.Node.Lifted(Control.Distributed.Process.Lifted.Class"Control.Distributed.Process.Lifted)Control.Distributed.Process.Lifted.ExtrasMVarputMVarControl.Concurrent.ChanChan Control.Distributed.Process.Node runProcessControl.Concurrent.MVardistr_6ai5fW5etKIHwVLjNr2IRninitRemoteTable*Control.Distributed.Process.Internal.Types localNodeId LocalNodecloseLocalNode forkProcess newLocalNodeRunInBaseDefaultP ComposeStP RunInBasePMonadProcessBaseStMP liftBaseWithP restoreMP MonadProcessliftPdefaultLiftBaseWithPdefaultRestoreMPcontrolPliftBaseDiscardP$fMonadProcessBaseRWST$fMonadProcessBaseRWST0$fMonadProcessBaseWriterT$fMonadProcessBaseWriterT0$fMonadProcessBaseExceptT$fMonadProcessBaseStateT$fMonadProcessBaseStateT0$fMonadProcessBaseReaderT$fMonadProcessBaseListT$fMonadProcessBaseMaybeT$fMonadProcessBaseIdentityT$fMonadProcessRWST$fMonadProcessRWST0$fMonadProcessWriterT$fMonadProcessWriterT0$fMonadProcessExceptT$fMonadProcessStateT$fMonadProcessStateT0$fMonadProcessReaderT$fMonadProcessListT$fMonadProcessMaybeT$fMonadProcessIdentityT$fMonadProcessBaseProcess$fMonadProcessProcess.: spawnLocal getSelfPidexpect expectTimeoutregisterwhereis catchesExitdelegateforwardgetLocalNodeStats getNodeStatsgetProcessInfo getSelfNodekilllinklinkNodelinkPortmonitor monitorNodereceiveTimeout receiveWait reconnect reconnectPortregisterRemoteAsyncrelay reregisterreregisterRemoteAsyncsayspawn spawnAsync spawnLink spawnMonitorspawnSupervised terminateunlink unlinkNode unlinkPort unmonitor unregisterunregisterRemoteAsyncwhereisRemoteAsync withMonitorcall catchExitdieexit handleMessagehandleMessageIfhandleMessageIf_handleMessage_mergePortsBiased mergePortsRR monitorPortnewChannsend nsendRemoteproxy receiveChanreceiveChanTimeoutsendsendChan spawnChannelspawnChannelLocal unClosureunStatic unsafeNSend unsafeSendunsafeSendChan unwrapMessage ProcessProxyproxyPid fromProcess spawnProxy spawnProxyIOinProxy fromProxymonad_0xW5zcMb0FUIevHTuIUHuLControl.Monad.Trans.ControlRunInBaseDefault ComposeSt RunInBaseMonadBaseControlMonadTransControlProcessdefaultLiftBaseWithcontrolliftBaseDiscardControl.Distributed.Process/Control.Distributed.Process.Internal.Primitives*Control.Distributed.Process.Internal.Spawnbase GHC.Exception Exception matchAnyIfmatchAnyunsafeWrapMessage wrapMessagematchMessageIf matchMessagematchIfmatchmatchSTM matchChanMatchProcessTerminationException isEncoded nodeAddressNodeId processNodeId ProcessIdsendPortProcessId SendPortId sendPortIdSendPort ReceivePortMessage MonitorRefProcessMonitorNotificationNodeMonitorNotificationPortMonitorNotificationProcessLinkExceptionNodeLinkExceptionPortLinkExceptionProcessRegistrationException DiedUnknownId DiedNodeDownDiedDisconnect DiedException DiedNormal DiedReasonSpawnRefDidSpawn WhereIsReply RegisterReplynodeStatsProcessesnodeStatsLinksnodeStatsMonitorsnodeStatsRegisteredNames nodeStatsNode NodeStats infoLinks infoMonitorsinfoMessageQueueLengthinfoRegisteredNamesinfoNode ProcessInfotrans_GZTjP9K5WFq01xC9BAGQpFControl.Monad.IO.ClassliftIOdistr_GOAkhAGrKeKDOD8sBR5IlvControl.Distributed.StaticClosure RemoteTableStaticclosurelifte_5D91cjXHiv39Kr8gZ3cfueControl.Exception.Lifted onExceptionfinallybracket_bracketmask_masktrycatchescatchHandler proxyChan$fShowProcessProxy