Marcin 'Qrczak' Kowalczyk wrote:

Convenience. I'm worried that it uses separate types for various
kinds of streams: files, pipes, arrays (private memory), and sockets.
Haskell is statically typed and lacks subsumption. This means that
even though streams are unified by using a class, code which uses
a stream of an unknown kind must be either polymorphic or use
existential quantification.



Or uses specialise pragmas to provide concrete implementations
for a polymorphic function.

Exploiting the advantages of mapped files for stream I/O
http://www.cs.toronto.edu/pub/reports/csrg/267/267.ps



The advantage of reducing copying between buffers is lost in Haskell: file{Read,Write} use a buffer provided by the caller instead of giving a buffer for the caller to examine or fill.



Eh? Surely that just depends on the API. The BlockIO library does
exactly this (passes the blocks to a user provided callback function)

   Keean.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to