úÎ~Uwįg      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] ^ _ ` a b c d e f  Safe-Inferred (Closes the sink and returns its result. Reads the next element. U If the sink is closed while waiting for the input, then the parameter is returned  as the sinks result. Reads the next element. I The sink returns a fail if it is closed before the input is received. VSkips n input elements. If the sink is closed before then the result will also be (). .Concatenates two sinks that produce a monoid. .Concatenates two sinks that produce a monoid. !Feed a list of inputs to a sink. LSink that executes a monadic action per input received. Does not terminate. VFirst calls open, then processes every input with process and when the sink is closed ( close is called. Does not terminate. &Sink that executes f for every input. U The sink continues as long as the action returns Nothing, when the action returns D Just, then that value is the result of the sink (and the sink is full). ZChanges the monad of a sink based upon a conversion function that maps the original monad  to the new one. g hij   g hij Safe-Inferred ,A basic instance of FeedSource (and Source) A basic instance of Source 7Something that produces data to be processed by a sink 0Transfer the data from the source into the sink Concatenates two sources. 0Concatenates two sources yielding a FeedSource. Concatenates two sources. Concatenates two sources. ]Source that executes a monadic action to get its inputs. Terminates when the sink terminates " or the action returns Nothing. !YSource that first opens a resource, then transfers itself to the sink and the closes the " resource again (in a bracket).  !klm ! !  !klm Safe-Inferred#Apply a transform to a sink. $Apply a transform to a sink. %Apply a transform to a Source. &Apply a transform to a source. ' Merges two transforms into one. ( Merges two transforms into one. "#$%&'("#$%&'("'#%($&"#$%&'(None0=Transforms each input individually by applying the function. 1ETransforms each input individually by applying the monadic function. 8 Warning: This is not really a Transform, since it isn't pure. 2<Transforms each input and carry a state between the inputs. 3:Transforms each input to a tuple (input, index of input).  I.e. for Mario): (M, 0), (a, 1), (r, 2), (i, 3), (o, 4) 42Takes only the first n inputs, then returns done. 5ZTakes inputs until the input fullfils the predicate. The matching input is not passed on. 6XTakes inputs until the input matches the argument. The matching input is not passed on. 7\Take inputs while the input fullfils the predicate. As soon as the first non-matching input 2 is encountered no more inputs will be passed on. 88Accumulates all elements with the accumulator function. 9Counts the received elements. :QAccumulates up to n elements with the accumulator function and then releases it. ;5Yield all elements of the array as seperate outputs. <BDrops the first n inputs then passes through all inputs unchanged =ZDrops inputs until the predicate is matched. The matching input and all subsequent inputs  are passed on unchanged. >WDrops inputs as long as they match the predicate. The first non-matching input and all + following inputs are passed on unchanged. ?5Only retains elements that match the filter function @(Map that allows to filter out elements. AMExecutes with t1 and when t1 ends, then the next input is fed to through t2. BSExecutes the given transforms in a sequence, as soon as one ends the next input is ! passed to the next transform. C#Loops the given transform forever. D"Loops the given transform n times E]Applies a function to each element and passes on every element of the result list seperatly. FOnly lets the rights of Either pass. GOnly lets the lefts of Either pass. HROutputs every element received and the result to the System-out (using putStrLn).  Format:  label:  element   label is  result IZSerialize the elements into ByteString using cereal. For every input there is exactly one  output. JUDeserializes ByteString elements. The ByteStrings may be chunked, but the beginnings \ of values must be aligned to the chunks. If this is not the case then consider splitting [ the ByteStrings by the appropriate start delimiter (if available) or split them up into  singletons. *nop)*+,-./0123456789:;<=>?@AqrstBCDEFGHIJu")*+,-./0123456789:;<=>?@ABCDEFGHIJ"01234567<=>?@E8:9;ACDBFGIJ*)+,-./H(npo)*+,-./0123456789:;<=>?@AqrstBCDEFGHIJu Safe-InferredK-A source containing the elements of the list LEA sink that collects all input into a list. Does never say SinkDone. KLKLKLKLNoneMMSource from a handle. The handle will not be closed and is read till hIsEOF. NQSame as hSource, but opens the handle when transfer is called and closes it when  transfer/feedToSink completes.  Uses bracket4 to ensure safe release of the allocated resources. OQSame as hSource, but opens the handle when transfer is called and closes it when  transfer/feedToSink completes. POSame as hSource, but does not check for hIsEOF and therefore never terminates. QSame as hSource'@, but does not check for hIsEOF and therefore never terminates. RSame as hSourceRes'@, but does not check for hIsEOF and therefore never terminates. SLSink backed by a handle. The data will be written by the provided function. P The sink will never change to the SinkDone state (if the device is full then $ the operation will simply fail). < The handle is not closed and exceptions are not catched. TISame as hSink, but does opens the handle when the first item is written. 6 The handle will be closed when the sink is closed. MNOvPQRSTMNOPQRSTMNOPQRST MNOvPQRST Safe-InferredUIA sink that executes (atomically) a STM action for every input received. M The sink continues as long as the action returns Nothing. When the action < returns Just, then that value is the result of the sink. VIA sink that executes (atomically) a STM action for every input received.  The sink never terminates. W)Sink that writes all items into a TChan. XMSource that executes a STM action to get a new item. When the action returns w  then the source is depleted. YRSource that executes a STM action to get a new item. Does never run out of items. ZUSource that reads from a TChan. Does never run out of items (just waits for new ones  written to the TChan). UVWXYZUVWXYZUVWXYZUVWXYZ Safe-Inferred\+Lift the (pure) fetch sink into any monad. [\ "$&([\[ \"($&[\ None ]3Creates a Source2 for the file read as characters. ^7Creates a Source2 for the file read linewise as string _;Creates a Source2 for file read as ByteStrings (hGetSome). `<Creates a Source2 for file read as single bytes (buffered). a>Creates a sink that writes the Chars into the specified file. bNCreates a sink that writes the input into the file (without adding newlines). c?Creates a sink that writes each input as a line into the file. d:Creates a sink that writes the ByteStrings into the file. e:Creates an unbuffered sink for writing bytes into a file. f]Creates a sink for writing bytes into a file. The first parameter is the size of the buffer. xy]^_`z{|}abcdef ]^_`abcdef ]^_`abcdfexy]^_`z{|}abcdef~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc d e f g h i j k l mnopqrstuvwxyz{|}~€  ‚ ƒ „ … †‡ sousit-0.3Data.SouSiT.SinkData.SouSiT.SourceData.SouSiT.TransformData.SouSiT.TransData.SouSiT.ListData.SouSiT.HandleData.SouSiT.STM Data.SouSiTData.SouSiT.File SinkStatusDoneContSink sinkStatus closeSinkinputOrinputskip=||= appendSinkfeedListcontSinkdoneSink doneSink' actionSinkopenCloseActionSink maybeSinkliftSink FeedSource feedToSink SimpleSourceSourcetransfer$$ concatSourcesconcatSources'=+==+|= actionSourcebracketActionSource Transform transformSink=$transformSource$=mergeTransform=$=TransFun mapSinkStatus applyTransFunmapSinkTransFun applyMappingmapSinkMapping toDoneTransmapmapM mapWithState zipWithIndextake takeUntil takeUntilEq takeWhile accumulatecountbufferdispersedrop dropUntil dropWhilefilter filterMapandThensequencelooploopNflatMap eitherRight eitherLeftdebug serialize deserialize listSourcelistSinkhSourcehSource' hSourceRes hSourceNoEOF hSourceNoEOF'hSourceResNoEOFhSinkhSinkResstmSinkstmSink' tchanSink stmSource stmSource' tchanSourceFetch liftFetchfileSourceCharfileSourceLinefileSourceByteStringfileSourceWord8 fileSinkCharfileSinkString fileSinkLinefileSinkByteStringfileSinkWord8Unbuffered fileSinkWord8noResult$fApplicativeSink $fMonadSink $fFunctorSinkhandleActionSource$fSourceFeedSource$fSourceSimpleSourceWrapRes SinkIsCont SinkIsDone sinkUnwrapsinkWraprecSink unwrapRes deserialize'toEofbase Data.MaybeNothing fileSourceB fileSourceTword8ChunkSizeliftPut fileSinkT fileSinkB