
Making a network stack from peek and poke is easy in a well structured OS.
The boot loader (or whatever) hands you the capability (call it
something else if you want) to do raw hardware access, and you build
from there. If you look at well structured OSs like NetBSD, this is
pretty much how they work. No hardware drivers use global variables.
-- Lennart
On Tue, Aug 26, 2008 at 6:34 PM, Adrian Hey
I have a feeling this is going to be a very long thread so I'm trying to go to Haskell cafe again (without mucking it up again).
Derek Elkins wrote:
Haskell should be moving -toward- a capability-like model, not away from it.
Could you show how to implement Data.Random or Data.Unique using such a model, or any (preferably all) of the use cases identified can be implemented? Like what about implementing the socket API starting with nothing but primitives to peek/poke ethernet mac and dma controller registers?
Why should Haskell should be moving -toward- a capability-like model and why does top level <- declarations take us away from it?
Regards -- Adrian Hey _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe