
On Mon, Jan 6, 2014 at 10:15 PM, Courtney Robinson
On Tue, Jan 7, 2014 at 3:03 AM, Brandon Allbery
wrote: behind
Oh I see, thanks for the info. really helpful. It brings about another question now.
How is newIORef meant to be used so that I only have a single IORef?
The Haskell way is to carry such things implicitly in a State or Reader monad; since the IORef itself doesn't change, and you need the IO monad around anyway to actually use it, you would use a ReaderT IORef IO and then use ask >>= liftIO . readIORef to get the value and similar to write or modify it. (Commonly one uses a type or newtype+newtype deriving to make one's own monad combining them.) -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net