polysemy-resume-0.3.0.0: lib/Polysemy/Resume/Data/Stop.hs
{-# options_haddock prune #-}
-- |Description: Internal
module Polysemy.Resume.Data.Stop where
-- |An effect similar to 'Polysemy.Error.Error' without the ability to be caught.
-- Used to signal that an error is supposed to be expected by dependent programs.
--
-- @
-- interpretStopper ::
-- Member (Stop Boom) r =>
-- InterpreterFor Stopper r
-- interpretStopper =
-- interpret \\case
-- StopBang -> stop (Bang 13)
-- StopBoom -> stop (Boom "ouch")
-- @
data Stop e :: Effect where
-- |Abort a computation with an error value.
Stop :: e -> Stop e m a
makeSem ''Stop