-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Like IORef but for Fay.
--
-- Like IORef but for Fay.
@package fay-ref
@version 0.1.0.0
module FayRef
-- | A mutable variable in the Fay monad.
data FayRef a
-- | Build a new FayRef.
newFayRef :: a -> Fay (FayRef a)
-- | Write a new value into a FayRef.
readFayRef :: FayRef a -> Fay a
-- | Write a new value into a FayRef.
writeFayRef :: FayRef a -> a -> Fay ()
-- | Mutate the contents of a FayRef.
--
-- Be warned that modifyFayRef does not apply the function
-- strictly. This means if the program calls modifyFayRef many
-- times, but seldomly uses the value, thunks will pile up in memory
-- resulting in a space leak.
modifyFayRef :: FayRef a -> (a -> a) -> Fay ()
-- | Strict version of modifyFayRef
modifyFayRef' :: FayRef a -> (a -> a) -> Fay ()