PHX      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW None%Filters the AList using a predicate. eFolds the AList with a function, that must be associative. This allows parallelism to be introduced. )Combine monoid elements to get a result. Length of an AList. /Find the first element satisfying a predicate.  Concatenate an AList of ALists. XYZ[\]^  XYZ[\]^None3 2Create a channel with a buffer at least as big as buffer. :Write into the channel, blocking when the buffer is full. :Read from the channel, blocking when the buffer is empty. _`a bc    _`a bc None+234M For internal errors. If a procedure throws this, some threads it created may still be running. It is thrown separately from ExceptionList. &For exceptions caused by caller code. Runs an associative folding function on the given array. Note: this function only spawns enough threads to make effective use of the  capabilities. Any two list elements may be processed sequentially or concurrently. To get parallelism, you have to set the numCapabilities value, e.g. using GHC's +RTS -N flag. The next two functions take an implicit parameter ?seq. Set it to True if you want to only spawn threads for the capabilities (same as  assocFolda, good for speed). If you need all the actions to be executed concurrently, set it to False. Cn is the number of computations which are indexed from 0 to n - 1. ~Runs several computations concurrently, and returns their results as an array. Waits for all threads to end before returning. 3Version of concF specialized for two computations. nRuns several computations in parallel, and returns one of their results (terminating the other computations).  defghijkl    defghijklNone234The array interface )Inject a basic array into the ArrC type. Get a basic array out. -Convenience for making an array from a list. Programs involving these array operations are optimized by a set of rules when GHC's -O option is set. Use +RTS -N to get parallelism. %Associative fold &Control.Arrow substitutes + Internals  !"#$%&'()*+,-./012 !"#$%&'()*+,-./012 !"#$%&'()*+,-./012 !"#$%&'()*+,-./012None!"?3The Res arrow. Computations are built with these constructors (and the arrow interface). The implementation guarantees progress provided: * Pieces of the arrow that hold locks are finitely examinable, * threads are programmed to eventually release a lock they hold, * locks are the only source of deadlock, * and all locks are used only with the Acq and Rel ctors (which acquire and release a lock resp.). :5Use this to run computations built in the Res arrow. 3456789mnopqr:;stuv 3456789:; 3987654:; 3987654mnopqr:;stuv  Safe-InferredwwwNoneM ?2Creates a new channel, with receive and send ends.@Open a channel to another hostA:Creates a receive end of this host's channel. Type unsafe!BSends something on a channel.C"Receives something from a channel.D1Receives the send end of a channel, on a channel.E1Sends the receive end of a channel, on a channel.F4Receives the receive end of a channel, on a channel.GxM produces channel ends with some data missing. Use these to make them usable.$<y=z{|}~>?@ABCDEFGH <=>?@ABCDEFGH =<>?@ABCDEFGH!<y=z{|}~>?@ABCDEFGH Safe-Inferred+I[Thrown by the writer function when the garbage collector detects that no one will read it. L_Take the first element from a channel, and a channel representing the remainder of the output. MCreate a new channel. The first return value is a function that can be used to add values to the channel. The second return value is the channel itself. NThe first return value is a thunk that returns values from the channel successively, starting from the position of the parameter channel. The second thunk can be used to retrieve the position of the channel after all the reads made using the first thunk. IJKLMNIJKLMNKIJLMNIJKLMN Safe-InferredOThe CSP data type: :|| - interleave :? - deterministic choice Join - interface parallel :-> - prefix Stop - empty computation 7Do - execute IO, then behave as the returned process WRun a CSP computation. OPQRSTUVW OPQRSTUVW OUTSRQPVWOUTSRQPVWR      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOOPQRSTUVWXYZ[\]^_`abc'defghijklmnopqrstuvwxy z{|}BC~~PConcurrentUtils-0.4.1.0Control.CUtils.AListControl.CUtils.ChannelControl.CUtils.ConcControl.CUtils.DataParallelControl.CUtils.DeadlockControl.CUtils.NetChanControl.CUtils.FChanControl.CUtils.ProcessesControl.CUtils.SplitAListListAppend filterAList assocFoldmonoidlenAList findAList concatAListChannel newChannel writeChannel readChannel ConcException ExceptionListconcF_conc_concFconcconcPoneOfFoneOfArrCinjectprojectnewArraymirrorpairUpmpcountindexzipconcatfoldfirstsecondleftrightand__pack__unpack __packProd __unpackProd __packSum1 __unpackSum1 __packSum2 __unpackSum2ResIdPlusForkRelAcqLiftrunlftNetRecvNetSend localHost newNetChan newNetSend newNetRecvsendrecvrecvSendsendRecvrecvRecv activateSend activateRecvDoneReadingExceptionChantakeChannewChan makeConsumerCSPDoStop:->Join:?:||runCSP0runCSPnoNils assocFold0$fFoldableAList$fTraversableAList$fFunctorAList$fMonadPlusAList $fMonadAListnBits incrementalg simpleConc_divideUp getExceptions partConc_ unsafeFreeze' partConcF partOneOfF$fExceptionConcException$fExceptionExceptionListresourceselectsgenerateSequenceshazardacquiredinserttest$fArrowChoiceRes $fArrowRes$fCategory*Ressplitbinary-0.7.1.0Data.Binary.Classget ChannelFibreIdentserveruptableport getIPAddress identifier modifyIdent__emptyNetSend__addConnection __newNetSendreadLoopserver __newNetRecv routeAround$fBinaryNetRecv$fBinaryNetSend $fEqNetRecv $fEqNetSend$fEqChannelFibreaddChan$fExceptionDoneReadingExceptionSideRLNprefix$fShowIO