[Haskell-cafe] Re: Re: Language support for imperative code. Was: Re: monad subexpressions

Donn Cave donn at drizzle.com
Mon Aug 13 19:39:49 EDT 2007


On Tue, 14 Aug 2007, Benjamin Franksen wrote:
...
> I'd be careful. Introducing a network connection into the equation makes the
> object (its methods) susceptible to a whole new bunch of failure modes;
> think indefinite delays, connection loss, network buffer overflow, etc etc.
> It may be a mistake to abstract all that away; in fact I am convinced that
> the old Unix habit of sweeping all these failure modes and potentially long
> delays under a big carpet named 'file abstraction' was a bad idea to begin
> with. The ages old and still not solved problems with web browsers hanging
> indefinitely (w/o allowing any GUI interaction) while name resolution waits
> for completion is only the most prominent example.

Ironically, the place where all this sweeping under the carpet has caused
me personally the most irritation is one of the most appealing file
abstractions - remote disk filesystems, NFS.

In any case, I agree (I think) that a sophisticated user interface needs
to deal with time.  I think that's a key motivation for reactive object
approaches.   It has to be considered part of the equation, along with the
rest of the I/O situation, if you're trying to reason about it that way.

	Donn Cave, donn at drizzle.com



More information about the Haskell-Cafe mailing list