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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to