úÎ|dx%N      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM_A simple record containing the resolver functions for all possible coroutine pair suspensions. Eresolves the left suspension functor into the resumption it contains 2resolves the right suspension into its resumption Tinvoked when both coroutines are suspended, resolves both suspensions or either one [Type of functions that can bind two monadic values together; used to combine two coroutines' step results. ^Combines two functors into one, applying either or both of them. Used for coupled coroutines.  The   functor instance doesn'Pt contain anything and cannot be constructed. Used for building non-suspendable  coroutines. ,Suspending, resumable monadic computations. Run the next step of a  N computation. The result of the step execution will be either a suspension or  the final coroutine result. LCombines two values under two functors into a pair of values under a single NO. Suspend the current  . Change the base monad of a  . #Change the suspension functor of a  . Convert a non-suspending   to the base monad. $Runs a single step of a suspendable  C, using a function that extracts the coroutine resumption from its  suspension functor. Runs a suspendable   to its completion. 'Runs a suspendable coroutine much like <, but allows the resumption function to thread an arbitrary  state as well. A F that runs the two steps sequentially before combining their results. A & that runs the two steps in parallel.  Lifting a  onto a   monad transformer. sWeaves two coroutines into one. The two coroutines suspend and resume in lockstep. The combined coroutine suspends c as long as either argument coroutine suspends, and it completes execution when both arguments do. rWeaves a list of coroutines with the same suspension functor type into a single coroutine. The coroutines suspend  and resume in lockstep. qRuns two coroutines concurrently. The first argument is used to run the next step of each coroutine, the next to R convert the left, right, or both suspensions into the corresponding resumptions. qRuns two coroutines concurrently. The first argument is used to run the next step of each coroutine, the next to @ convert their step results into the corresponding resumptions.           sThis is a cofunctor data type for selecting a prefix of an input stream. If the next input item is acceptable, the S ticker function returns the ticker for the rest of the stream. If not, it returns P.  e happens to be a cofunctor, but there is no standard class declaration to declare it an instance of. !'Extracts a list prefix accepted by the < argument. Returns the modified ticker, the prefix, and the  remainder of the list. " A ticker that accepts no input. #+A ticker that accepts a single input item. $5A ticker that accepts a given number of input items. %^A ticker that accepts the longest prefix of input that matches a prefix of the argument list. &qA ticker that accepts a prefix of input as long as each item satisfies the predicate at the same position in the g argument list. The length of the predicate list thus determines the maximum number of acepted values. 'KA ticker that accepts all input as long as it matches the given predicate. (MA ticker that accepts all input items until one matches the given predicate. )!A ticker that accepts all input. *cSequential ticker combinator: when the first argument ticker stops ticking, the second takes over.  !"#$%&'()*  !"#$%&'()*  !"#$%&'()*+cCombines two alternative functors into one, applying one or the other. Used for nested coroutines. ,-.The /. functor instance combines a 32 of a request with an 10 for a response. /0The 10> functor instance is equivalent to (->) but more descriptive. 12The 32= functor instance is equivalent to (,) but more descriptive. 340Suspend the current coroutine yielding a value. 59Suspend the current coroutine until a value is provided. 66Suspend yielding a request and awaiting the response. 7UConverts a coroutine yielding collections of values into one yielding single values. 8UConverts a coroutine awaiting single values into one awaiting collections of values. 9A 6 for running two coroutines in parallel, one of which 5s values while the other 4s G them. The yielding coroutine must not terminate before the other one. :A 6 for running two coroutines in parallel, one of which 5s values while the other 4s ] them. If the yielding coroutine terminates before the awaiting one, the latter will receive P. ;A 6 for running two coroutines in parallel, one of which 5"s non-empty lists of values while  the other 4Us them. If the yielding coroutine dies, the awaiting coroutine receives empty lists. <A  for running two 6)ing coroutines in parallel. One coroutine's request becomes the other's  response, and vice versa. =A Z for running two coroutines in parallel. One coroutine produces data in chunks, the other q consumes data in chunks. The boundaries of the two kinds of chunks need not be the same, as the consumed chunks  are determined by a  provided by the consumer's input request. >A generic version of =, allowing coroutines with /. and 32 functors embedded in  other functors. ?Like =P, the only difference being that the producing coroutine sends its chunks using 6  rather than 4. The feedback received from 6: is the unconsumed remainder of the chunk, which lets the - coroutine know when its sibling terminates. @A generic version of ?, allowing coroutines with /. functors embedded in other  functors. ALike ?X, except the consuming coroutine requests receive both the selected prefix of the input Q chunk and a peek at either the next unconsumed input item, if any, or the final  value. Chunks sent by the t producing coroutine never get combined for the consuming coroutine. This allows better synchronization between the t two coroutines. It also leaks the information about the produced chunk boundaries into the consuming coroutine, so , this resolver should be used with caution. BA generic version of A, allowing coroutines with /. functors embedded in other  functors. Q/Feeds a single value to an awaiting coroutine. R7Feeds a collection of values to an awaiting coroutine. +,-./0123456789:;<=>?@AB2301./+-,456789:;<=?A>@B+-,,-.//011233456789:;<=>?@AB C&Class of functors that can be lifted. DjConvert the ancestor functor into its descendant. The descendant functor typically contains the ancestor. E4Class of functors that can contain another functor. FGH Run a nested  . that can suspend both itself and the current  . I Much like ", but with two nested coroutines. JLike e, but for nested coroutines that are allowed to suspend the current coroutine as well as themselves. ] If both coroutines try to suspend the current coroutine in the same step, the left coroutine's suspension will have  precedence. KLike V, but for nested coroutines that are allowed to suspend the current coroutine as well m as themselves. If both coroutines try to suspend the current coroutine in the same step, the left coroutine's " suspension will have precedence. L4Converts a coroutine into a child nested coroutine. M9Converts a coroutine into a descendant nested coroutine. CDEFGHIJKLM HIJKEFGCDLM CDDEFGFGHIJKLMS      !!"#$%&'()*+,-./0011223456789:;<=>?@ABCDEFGHIJKLMNOMNOPQRSTUmonad-coroutine-0.6.1Control.Monad.CoroutineControl.Cofunctor.Ticker*Control.Monad.Coroutine.SuspensionFunctorsControl.Monad.Coroutine.NestedSeesawResolver resumeLeft resumeRight resumeBoth PairBinder SomeFunctorBoth RightSomeLeftSomeNaughtCoroutineStepResult Coroutineresume composePairsuspendmapMonad mapSuspension runCoroutinebounce pogoStickfoldRunsequentialBinderparallelBinder liftBindercouplemergeseesaw seesawStepsTickercofmap splitTickedtickNonetickOne tickCount tickPrefixOftickWhilePrefixOf tickWhile tickUntiltickAllandThen EitherFunctorRightFLeftFRequestAwaitYieldyieldawaitrequest concatYields concatAwaitsawaitYieldResolverawaitMaybeYieldResolverawaitYieldChunkResolverrequestsResolvertickerYieldResolverliftedTickerYieldResolvertickerRequestResolverliftedTickerRequestResolverlazyTickerRequestResolverliftedLazyTickerRequestResolverAncestorFunctor liftFunctor ChildFunctorParentwrappogoStickNested coupleNested seesawNestedseesawNestedSteps liftParent liftAncestortransformers-0.2.2.0Data.Functor.ComposeComposebase Data.MaybeNothingfeedfeedAll