:: IO_a_ -> _ IO_ThreadId -package:breakpoint -is:exact -package:quaalude

Generalized version of evaluate.
Respond with 200 OK.
main = simpleHTTP nullConf $ ok "Everything is OK"
Respond with 204 No Content A 204 No Content response may not contain a message-body. If you try to supply one, it will be dutifully ignored.
main = simpleHTTP nullConf $ noContent "This will be ignored."
Respond with 500 Internal Server Error.
main = simpleHTTP nullConf $ internalServerError "Sorry, there was an internal server error."
Responds with 502 Bad Gateway.
main = simpleHTTP nullConf $ badGateway "Bad Gateway."
Respond with 400 Bad Request.
main = simpleHTTP nullConf $ badRequest "Bad Request."
Respond with 401 Unauthorized.
main = simpleHTTP nullConf $ unauthorized "You are not authorized."
Respond with 403 Forbidden.
main = simpleHTTP nullConf $ forbidden "Sorry, it is forbidden."
Respond with 404 Not Found.
main = simpleHTTP nullConf $ notFound "What you are looking for has not been found."
Respond with 413 Request Entity Too Large.
main = simpleHTTP nullConf $ requestEntityTooLarge "That's too big for me to handle."
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, 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.