[Haskell-cafe] Lazy IO.
jules at jellybean.co.uk
Mon Jun 16 09:14:18 EDT 2008
Sebastiaan Visser wrote:
> On Jun 16, 2008, at 2:58 PM, Jules Bean wrote:
>> Sebastiaan Visser wrote:
>>> Does anyone know a pattern in which I can do this easily?
>> Don't use hGetContents on a socket. That's asking for trouble.
> Can you please explain why?
Because it's a broken abstraction.
It's only correct if all you will ever do is read all the data into one
String and don't care about it after that.
In my experience this is almost never true of sockets : there is always
protocol overhead, handshaking, and the "next request".
It might be fine for unusually simple socket setups.
> What is a more easier method to spool your HTTP post data to a file than:
> Bs.hGetContens sock >>= Bs.hPut fd
Yes, that's fine.
More information about the Haskell-Cafe