Safe Haskell | None |
---|---|
Language | Haskell2010 |
Effectful.Environment
Synopsis
- data Environment (a :: Type -> Type) b
- runEnvironment :: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) => Eff (Environment ': es) a -> Eff es a
- getArgs :: forall (es :: [Effect]). Environment :> es => Eff es [String]
- getProgName :: forall (es :: [Effect]). Environment :> es => Eff es String
- getExecutablePath :: forall (es :: [Effect]). Environment :> es => Eff es FilePath
- getEnv :: forall (es :: [Effect]). Environment :> es => String -> Eff es String
- getEnvironment :: forall (es :: [Effect]). Environment :> es => Eff es [(String, String)]
- lookupEnv :: forall (es :: [Effect]). Environment :> es => String -> Eff es (Maybe String)
- setEnv :: forall (es :: [Effect]). Environment :> es => String -> String -> Eff es ()
- unsetEnv :: forall (es :: [Effect]). Environment :> es => String -> Eff es ()
- withArgs :: forall (es :: [Effect]) a. Environment :> es => [String] -> Eff es a -> Eff es a
- withProgName :: forall (es :: [Effect]) a. Environment :> es => String -> Eff es a -> Eff es a
Effect
data Environment (a :: Type -> Type) b Source #
An effect for querying and modifying the system environment.
Instances
type DispatchOf Environment Source # | |
Defined in Effectful.Environment | |
data StaticRep Environment Source # | |
Defined in Effectful.Environment |
Handlers
runEnvironment :: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) => Eff (Environment ': es) a -> Eff es a Source #
Run the Environment
effect.
Querying the environment
getProgName :: forall (es :: [Effect]). Environment :> es => Eff es String Source #
Lifted getProgName
.
getExecutablePath :: forall (es :: [Effect]). Environment :> es => Eff es FilePath Source #
Lifted getExecutablePath
.
getEnv :: forall (es :: [Effect]). Environment :> es => String -> Eff es String Source #
Lifted getEnv
.
getEnvironment :: forall (es :: [Effect]). Environment :> es => Eff es [(String, String)] Source #
Lifted getEnvironment
.
lookupEnv :: forall (es :: [Effect]). Environment :> es => String -> Eff es (Maybe String) Source #
Lifted lookupEnv
.
Modifying the environment
setEnv :: forall (es :: [Effect]). Environment :> es => String -> String -> Eff es () Source #
Lifted setEnv
.
unsetEnv :: forall (es :: [Effect]). Environment :> es => String -> Eff es () Source #
Lifted unsetEnv
.
withArgs :: forall (es :: [Effect]) a. Environment :> es => [String] -> Eff es a -> Eff es a Source #
Lifted withArgs
.
withProgName :: forall (es :: [Effect]) a. Environment :> es => String -> Eff es a -> Eff es a Source #
Lifted withProgName
.