1*lw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv Safe 3;=>?AQV: Closable tap$A value representing a close requestMonads that drinkA  is a stream consumer monad.   Safe<] ! !Safe;<=>?QV"0Backtracking producer a.k.a. "ListT done right".%Monadic producer(( m r s' is a non-monadic, endless producer of s. It takes a request r.+)Prepend a new element, delaying requests.,Send a request to a (.-Involve an action.4"Get one element without consuming.5(Produce one element. Orders are put off.6"Accept orders and clear the queue.7Create a infinite ( from a %. inexhaustible :: % r s ( tap m) x ->  Distiller tap m r s8Take all the elements in a w container.9Get a request.: End of stream;Run a %& action and terminate the stream with :.< Specialised ;=Run " and terminate the stream with :.> Specialised ="#$%&'()*+,-./0123456789:;<=>?@()*+,-./0%&'@67;<5"#$89=>?1234:"#$%&'()*Safe3<]PPatron s is a simple consumer of s . Unlike , it can be partially run.serving% distributes each input to a list of P&s until all the patrons terminate. (x) returns the first result.V 2iterPatronT drink :: Patron s m a -> Drinker s m aPQRSTUVWPQR^]\[ZYXSTUVWPQRSafe_Create a popper from a (. 8tapPopper :: CloseRequest r => Tap r s IO -> GivesPopper__Safe<QV]&@`Distiller tap m r s2 is a stream transducer which has four parameters:tap inputr request from the downstreams outputm underlying monadThis is also a (.a&Connect a tap with a Drinker. Flipped . Mnemonic:+ Left operand is a tap.+' Returns a tap (along with the result).& Right operand is a Drinker.bAttach a distiller to a tap. Mnemonic:+ Left operand is a tap.+ Returns a tap.$ Right operand is a distiller.c/Feed a tap to a drinker and close the used tap.dLike (c) but discards the used tap. U($&) :: Distiller tap m r s -> Drinker (Tap r s) (Drinker tap m) a -> Drinker tap m ag$Get one element preserving a requestk<Create a request-preserving distiller from a drinker action. `abcdefghijk `cdbagefhijka7b8c6d7Safe<QV](m Mono in/outuConsume all the content of a (# and return the elements as a list. lmnopqrstuv nmlopqrstuvSafe)!9  !"#$%&'()*+,-./0123456789:;<=>?@`abcdefghijk Safe*Eyz{|}~     !"#$%&'()*++,--.//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~| #drinkery-0.2-L6wtsY6Dxyj2xaFY6GaxyOData.Drinkery.ClassData.Drinkery.CombinatorsData.Drinkery.TapData.Drinkery.PatronData.Drinkery.IOData.Drinkery.DistillerData.Drinkery.Still Data.DrinkeryPaths_drinkeryClosableclose CloseRequest closeRequest MonadDrunkdrinkingDrinker runDrinker mapDrinker$fMonadWritersDrinker$fMonadStatesDrinker$fMonadReaderrDrinker$fMonadIODrinker$fMonadTransDrinker$fMonadDrinker$fApplicativeDrinker$fFunctorDrinker$fMonadDrunktContT$fMonadDrunktMaybeT$fMonadDrunktRWST$fMonadDrunktRWST0$fMonadDrunktWriterT$fMonadDrunktWriterT0$fMonadDrunktStateT$fMonadDrunktStateT0$fMonadDrunktReaderT$fMonadDrunktDrinker$fCloseRequest[]$fCloseRequest() foldlFrom' foldMFrom traverseFrom_ drainFrom Sommelier unSommelierBarmanunBarmanTapunTapconsTaporderTapmakeTap repeatTap repeatTapM repeatTapM'drinkleftoverrequestsmellpouraccept inexhaustibletasteinquireeof runBarman runBarman' runSommelier runSommelier'retractSommelieryield $fClosableTap$fMonadDrunktBarman$fMonadIOBarman$fMonadTransBarman $fMonadBarman$fApplicativeBarman$fFunctorBarman$fMonadDrunktSommelier$fMonadIOSommelier$fMonadTransSommelier$fMonadPlusSommelier$fAlternativeSommelier$fMonadSommelier$fApplicativeSommelier$fFunctorSommelierPatron runPatronawaitserving_ iterPatron iterPatronT lookAheadT$fMonadIOPatron$fMonadPlusPatron$fAlternativePatron$fMonadTransPatron $fMonadPatron$fApplicativePatron$fFunctorPatron tapPopper Distiller++&++$+&$&echomapping reservingTap traversing filteringscanning repeatingPipeStillCaskscanreservemapmapMaybefiltermapAccumdrinkUpsipbase Data.FoldableFoldableGHC.Base<|>version getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName