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