[Haskell-cafe] Copying Arrays
Ketil Malde
ketil at malde.org
Fri May 30 08:35:02 EDT 2008
"Johan Tibell" <johan.tibell at gmail.com> writes:
> Lazy I/O comes with a penalty in terms of correctness!
Is there a page describing this in more detail? I believe my programs
to be correct, but would like to know if there are additional
pitfalls, beyond hClosing a handle with outstanding (unevaluated)
reads.
> Lazy I/O is kinda, maybe usable for small scripts that reads a file
> or two and spits out a result but for servers it doesn't work at
> all.
So don't use it for servers, then?
> Here are two possible interfaces for safe I/O. One isstream based
> one with explicit close and the other fold based one (i.e. inversion
> of control):
Say I have two files with variable-size records, that need to be
merged. In other words, I can do something like:
do
xs <- readFile "X"
ys <- readFile "Y"
return $ zipWith combine (parseX xs) (parseY ys)
Clearly in the "small script" category and not "servers", but is it
still unsafe?
>> -- Stream based I/O.
>> -- Left fold/callback based I/O.
Perhaps I don't quite understand the concepts, but I don't see how to
implement the example as elegantly and simply with these approaches?
-k
--
If I haven't seen further, it is by standing in the footprints of giants
More information about the Haskell-Cafe
mailing list