Haskell for all
Monday, March 3, 2014
How to model handles with pipes
I receive repeated questions for how to implement a Handle -like API similar to io-streams using pipes even after I outlined how to do thi...
Saturday, February 22, 2014
Reasoning about stream programming
This post answers a question people sometimes ask me about pipes , which I will paraphase here: If resource management is not a core focus...
Saturday, February 8, 2014
pipes-http-1.0: Streaming HTTP/HTTPS clients
The pipes-http package now provides an HTTP client for pipes . This was made possible by Michael Snoyman, who released http-client and htt...
Wednesday, February 5, 2014
pipes-parse-3.0: Lens-based parsing
pipes-parse-3.0.0 introduces a new lens-based parsing mechanism. These lenses improve the library in two ways: They greatly simplify the ...
Sunday, February 2, 2014
I see many beginners use WriterT [a] in their programs to log outputs like this: import Control.Monad.Trans.Class (lift) import Control.Mo...
Sunday, January 19, 2014
Shortcut fusion for pipes
Rewrite rules are a powerful tool that you can use to optimize Haskell code without breaking backwards compatibility. This post will illustr...
Wednesday, December 25, 2013
You may have heard that Haskell is "great for equational reasoning", but perhaps you didn't know precisely what that meant. Th...
View web version