úÎ f val Nothing -> return () 'This is a simple utility adapted from Ahttp://neilmitchell.blogspot.de/2015/07/thoughts-on-conduits.html%groupC yields the input as groups of n. elements. If the input is not a multiple of n%, the last element will be incompleteExample: 8 CC.yieldMany [0..10] .| groupC 3 .| CC.consumeList  results in &[ [0,1,2], [3,4,5], [6,7,8], [9, 10] ]!This function is deprecated; use 2013-2017 Luis Pedro CoelhoMITluis@luispedro.orgNone:LT[ This is like E, except that each element is processed in a separate thread (up to  maxThreadsÙ can be queued up at any one time). Results are evaluated to normal form (not weak-head normal form!, i.e., the structure is deeply evaluated) to ensure that the computation is fully evaluated in the worker thread.}Note that there is some overhead in threading. It is often a good idea to build larger chunks of input before passing it to ' to amortize the costs. That is, when f" is not a lot of work, instead of  asyncMapC f, it is sometimes better to do = CC.conduitVector 4096 .| asyncMapC (V.map f) .| CC.concat where CC refers to H with error handling. The inner function can now return an error (as a $). When the first error is seen, it  s in the main monad. Note that f¢ may be evaluated for arguments beyond the first error (as some threads may be running in the background and already processing elements after the first error).See ¼concatenates input into larger chunks and yields it. Its indended use is to build up larger blocks from smaller ones so that they can be sent across thread barriers with little overhead.Žthe chunkSize parameter is a hint, not an exact element. In particular, larger chunks are not split up and smaller chunks can be yielded too.^A simple sink which performs gzip compression in a separate thread and writes the results to h. See also jCompresses the output and writes to the given file with compression being performed in a separate thread. See also ÒA source which produces the ungzipped content from the the given handle. Note that this "reads ahead" so if you do not use all the input, the Handle will probably be left at an undefined position in the file. See also WOpen and read a gzip file with the uncompression being performed in a separate thread. See also  oIf the filename indicates a gzipped file (or, on Unix, also a bz2 file), then it reads it and uncompresses it.=On Windows, attempting to read from a bzip2 file, results in .For the case of gzip,  is used.  Maximum number of worker threadsFunction to execute chunk hint     2013-2017 Luis Pedro CoelhoMITluis@luispedro.orgSafeLOT[ Unique conduit./For each element, it checks its key (using the a -> b; key function) and yields it if it has not seen it before.Note that this conduit does not5 assume that the input is sorted. Instead it uses a   } to store previously seen elements. Thus, memory usage is O(N) and time is O(N log N). If the input is sorted, you can use  Unique conduitSee   and  Removes repeated elements A yieldMany [0, 0, 1, 1, 1, 2, 2, 0] .| removeRepeatsC .| consume is equivalent to  [0, 1, 2, 0]See   and  BMerge a list of sorted sources to produce a single (sorted) source3This takes a list of sorted sources and produces a - which outputs all elements in sorted order.See 'Take two sorted sources and merge them.See          !"#$%&'1conduit-algorithms-0.0.6.0-4BDArjLMwLk8komzBF8OouData.Conduit.Algorithms.UtilsData.Conduit.Algorithms.AsyncData.Conduit.AlgorithmsData.Conduit.ListchunksOfmap Data.Conduit CombinatorsDataSet awaitJust enumerateCgroupC asyncMapCasyncMapEitherC asyncGzipToasyncGzipToFile asyncGzipFromasyncGzipFromFileconduitPossiblyCompressedFile uniqueOnCuniqueCremoveRepeatsCmergeCmergeC2base Data.EitherLeft mtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6Control.Monad.Error.Class throwError bsConcatToGHC.Errerror untilNothing'conduit-1.2.12.1-6b4TSFRWHoSApJNfxxMPJ4Data.Conduit.Internal.ConduitSource