[Haskell-cafe] Current situation regarding global IORefs

Lennart Augustsson lennart at augustsson.net
Thu Apr 27 08:36:10 EDT 2006

Not to fuel the flame war, I will limit myself to two comments.

Adrian Hey wrote:
> Or put another way, would it be possible to implement the socket
> API, exactly as it currently is, entirely in Haskell, starting with
> nothing but hardware? I don't believe it is possible, but perhaps
> somebody can show me I'm wrong.
If I get to implement the IO monad, sure. :)

> IME, the approach you take to these kinds of problems can vary
> depending what you know or don't know for certain about the
> system your working with. But you always end up using top level
> mutable state somewhere along the way. I can only assume folk who
> insist it's unnecessary (or worse) have never actually tried
> implementing an IO sub-system from the ground up, starting with
> nothing but bare hardware.
I've written about 50000 lines of USB devices drivers for *BSD (in C).
They work from the bare metal and up.  They contain no global
mutable state (except for variables that define debugging levels,
because you need to access these from the in-kernel debugger).

	-- Lennart

More information about the Haskell-Cafe mailing list