Hoogle Search

Within LTS Haskell 24.52 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. module RIO.Partial

    Partial functions. Import as:

    import qualified RIO.Partial as RIO'
    

  2. module RIO.Prelude

    No documentation available.

  3. class Monad m => PrimMonad (m :: Type -> Type)

    rio RIO.Prelude.Types

    Class of monads which can perform primitive state-transformer actions.

  4. data Proxy (t :: k)

    rio RIO.Prelude.Types

    Proxy is a type that holds no data, but has a phantom parameter of arbitrary type (or even kind). Its use is to provide type information, even though there is no value available of that type (or it may be too costly to create one). Historically, Proxy :: Proxy a is a safer alternative to the undefined :: a idiom.

    >>> Proxy :: Proxy (Void, Int -> Int)
    Proxy
    
    Proxy can even hold types of higher kinds,
    >>> Proxy :: Proxy Either
    Proxy
    
    >>> Proxy :: Proxy Functor
    Proxy
    
    >>> Proxy :: Proxy complicatedStructure
    Proxy
    

  5. Proxy :: Proxy (t :: k)

    rio RIO.Prelude.Types

    No documentation available.

  6. module RIO.Process

    Interacting with external processes. This module provides a layer on top of System.Process.Typed, with the following additions:

    • For efficiency, it will cache PATH lookups.
    • For convenience, you can set the working directory and env vars overrides in a RIO environment instead of on the individual calls to the process.
    • Built-in support for logging at the debug level.
    In order to switch over to this API, the main idea is:
    • Like most of the rio library, you need to create an environment value (this time ProcessContext), and include it in your RIO environment. See mkProcessContext.
    • Instead of using the proc function from System.Process.Typed for creating a ProcessConfig, use the locally defined proc function, which will handle overriding environment variables, looking up paths, performing logging, etc.
    Once you have your ProcessConfig, use the standard functions from Typed (reexported here for convenient) for running the ProcessConfig.

  7. PathsInvalidInPath :: [FilePath] -> ProcessException

    rio RIO.Process

    No documentation available.

  8. data Process stdin stdout stderr

    rio RIO.Process

    A running process. The three type parameters provide the type of the standard input, standard output, and standard error streams. To interact with a Process use the functions from the section Interact with a process.

  9. data ProcessConfig stdin stdout stderr

    rio RIO.Process

    An abstract configuration for a process, which can then be launched into an actual running Process. Takes three type parameters, providing the types of standard input, standard output, and standard error, respectively. There are three ways to construct a value of this type:

    • With the proc smart constructor, which takes a command name and a list of arguments.
    • With the shell smart constructor, which takes a shell string
    • With the IsString instance via OverloadedStrings. If you provide it a string with no spaces (e.g., "date"), it will treat it as a raw command with no arguments (e.g., proc "date" []). If it has spaces, it will use shell.
    In all cases, the default for all three streams is to inherit the streams from the parent process. For other settings, see the setters below for default values. Once you have a ProcessConfig you can launch a process from it using the functions in the section Launch a process.

  10. data ProcessContext

    rio RIO.Process

    Context in which to run processes.

Page 273 of many | Previous | Next