:: IO_a_ -> _ IO_ThreadId -package:breakpoint -is:exact -package:happstack-server

Generalized version of evaluate.
Throw an error, escaping the current computation up to the nearest catchError (if any).
runThrow (throwError e >>= k) = runThrow (throwError e)
Like throwEnvelopeErr but without providing a message.
>>> import Control.Monad.Except (runExcept)

>>> throwEnvelopeErr "BAD_ERROR" "a very bad error occurred!" :: Either (Err String) Int
Left (Err {errErr = "BAD_ERROR", errExtra = Just "a very bad error occurred!"})
A higher-order generalisation of replicate. For example
foo :: IO (String, String, String)
foo = replicateT getLine
> foo
Hello
world
!
("Hello","world","!")
Use sequenceT instead. It has a better name.
A higher-order generalisation of sequenceA. For example
> sequenceT (print 3110, putStrLn World) :: IO ((), ())
3110
World
((),())
Lift a value into the Structure.

Examples

>>> pure 1 :: Maybe Int
Just 1
>>> pure 'z' :: [Char]
"z"
>>> pure (pure ":D") :: Maybe [String]
Just [":D"]
amazonka-core Amazonka.Prelude, hedgehog Hedgehog.Internal.Prelude, semigroupoids Semigroupoids.Do, base-compat Prelude.Compat, protolude Protolude, diagrams-lib Diagrams.Prelude, relude Relude.Applicative, rio RIO.Prelude, base-prelude BasePrelude, turtle Turtle, graphviz Data.GraphViz.Parsing, classy-prelude ClassyPrelude, Cabal-syntax Distribution.Compat.Prelude, basic-prelude CorePrelude, universum Universum.Applicative, ihaskell IHaskellPrelude IHaskellPrelude, basement Basement.Compat.Base Basement.Imports, github GitHub.Internal.Prelude, numhask NumHask.Prelude, clash-prelude Clash.HaskellPrelude, foundation Foundation, ghc-lib-parser GHC.Prelude.Basic GHC.Utils.Monad, dimensional Numeric.Units.Dimensional.Prelude, rebase Rebase.Prelude, quaalude Essentials, threepenny-gui Graphics.UI.Threepenny.Core, configuration-tools Configuration.Utils.CommandLine, hledger Hledger.Cli.Script, mixed-types-num Numeric.MixedTypes.PreludeHiding, xmonad-contrib XMonad.Config.Prime, copilot-language Copilot.Language.Prelude, incipit-base Incipit.Base, LambdaHack Game.LambdaHack.Core.Prelude, cabal-install-solver Distribution.Solver.Compat.Prelude, faktory Faktory.Prelude, opt-env-conf OptEnvConf.Parser, appar Text.Appar.ByteString Text.Appar.LazyByteString Text.Appar.String, ghc-lib GHC.HsToCore.Monad, loc Data.Loc.Internal.Prelude, yesod-paginator Yesod.Paginator.Prelude, distribution-opensuse OpenSuse.Prelude, frisby Text.Parsers.Frisby, hledger-web Hledger.Web.Import, termonad Termonad.Prelude, verset Verset
Lift a value.
Apply the control pure over a data applicative.
Lift a value.
Inject a value into the monadic type. This function should not be different from its default implementation as pure. The justification for the existence of this function is merely historic.
Inject a value into the monadic type.
Strict version of return because usually we don't need that extra thunk.