bluefin-0.2.1.0: src/Bluefin/HandleReader.hs
-- | 'HandleReader' is like t'Bluefin.Reader.Reader', generalized to
-- work for arbitrary t'Bluefin.Compound.Handle's. 'localHandle'
-- locally overrides the value of a handle in a well-scoped way. The
-- original handle will be restored when you exit the @localHandle@
-- block regardless of whether the exit was normal or via an
-- exception.
--
-- @HandleReader@ supports functionality similiar to @effectful@'s
-- 'Effectful.Dispatch.Dynamic.interpose' and @polysemy@'s
-- 'Polysemy.intercept', that is, locally augmenting an effect with
-- new behaviors.
module Bluefin.HandleReader
(-- * Handle
HandleReader,
-- * Handlers
runHandleReader,
-- * Effectful operations
askHandle,
localHandle,
)
where
import Bluefin.Internal