John Meacham wrote:
personally, I think the easiest solution would be to punt the whole
issue by having:
getContents
lazily read the file if it is mmapable or a pipe
eagerly slurp the whole file if it refers to a tty
I think this kind of irregular behaviour would make the IO functions
even more difficult to understand. Why should some invokations of the
same program exhibit utterly different space/time behaviour from others?!
mycomputer% ./myprogram
mycomputer% cat | ./myprogram
mycomputer% ./myprogram <myfile
mycomputer% luit ./myprogram
of course this makes 'interact' not really interactive,
Exactly, it defeats the whole purpose of the interact function (to
provide support for Landin-stream IO), so you might just as well remove
it completely...
--
Thomas H
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe