capability-0.1.0.0: src/Capability/State.hs
-- | Defines a capability type class for a state effect. A state capability
-- provides a state which can be retrieved with 'get' and set with 'put'. As an
-- analogy, each state capability is equivalent to making one @IORef@ available
-- in an @IO@ computation (except, of course, that a state capability does not
-- have to be provided by @IO@).
--
-- This is a very expressive capability. It is often preferable to restrict to
-- less powerful capabilities such as "Capability.Reader", "Capability.Writer",
-- or "Capability.Stream".
module Capability.State
( -- * Interface
module Capability.State.Internal.Class
-- * Strategies
, module Capability.State.Internal.Strategies
-- ** Modifiers
, module Capability.Accessors
) where
import Capability.Accessors
import Capability.State.Internal.Class
import Capability.State.Internal.Strategies