[Haskell-cafe] ANNOUNCE: pipes-core 0.0.1

Twan van Laarhoven twanvl at gmail.com
Sun Mar 11 03:05:02 CET 2012


On 2012-03-11 00:09, Mario Blažević wrote:
> On 12-03-10 05:19 PM, Twan van Laarhoven wrote:
>> -- | Pass some unconsumed input back upstream.
>> -- The next @await@ will return this input without blocking.
>> unawait :: Monad m => a -> Pipe a b m ()
>
> The function may be called unawait, but there's nothing stopping you from
> inserting something into the stream that wasn't in the input to start with. I
> find that this approach breaks too many invariants.

Which invariants does it break exactly? I.e. what properties do you expect to 
hold that fail when you can push arbitrary values back up-stream?


Twan



More information about the Haskell-Cafe mailing list