Hoogle Search

Within LTS Haskell 24.33 (ghc-9.10.3)

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

  1. reading :: MonadRCU s m => Reading m a -> m a

    rcu Control.Concurrent.RCU.QSBR

    Run a read-side critical section

  2. package read-editor

    Opens a temporary file on the system's EDITOR and returns the resulting edits See https://github.com/yamadapc/haskell-read-editor for more information

  3. readEditor :: IO String

    read-editor System.ReadEditor

    Opens a file in the sytem's editor and returns it's contents after it's saved.

  4. readEditorWith :: String -> IO String

    read-editor System.ReadEditor

    Opens a file, fills it some content and returns it's contents after it's saved.

  5. package read-env-var

    Functions for safely reading environment variables. Please see README.md

  6. readEnv :: (MonadIO m, Read a) => String -> m (Maybe a)

    read-env-var System.ReadEnvVar

    Lookup a value from an environment variable and read it in with readMaybe. Read an environment variable that exists:

    >>> setEnv "TEST_ENV_VAR" "2000"
    
    >>> readEnv "TEST_ENV_VAR" :: IO (Maybe Int)
    Just 2000
    
    Try reading an environment variable that does not exist. Returns Nothing:
    >>> readEnv "THIS_ENV_VAR_WILL_NOT_EXIST" :: IO (Maybe Int)
    Nothing
    
    Try reading an environment variable that cannot be read. Returns Nothing:
    >>> setEnv "BAD_ENV_VAR" "not an int"
    
    >>> readEnv "BAD_ENV_VAR" :: IO (Maybe Int)
    Nothing
    
    Note that this DOES NOT read string values as one might expect:
    >>> setEnv "TEST_ENV_VAR2" "some string 1"
    
    >>> readEnv "TEST_ENV_VAR2" :: IO (Maybe String)
    Nothing
    
    It will read string values as if they were Haskell strings:
    >>> setEnv "TEST_ENV_VAR3" "\"some string 1\""
    
    >>> readEnv "TEST_ENV_VAR3" :: IO (Maybe String)
    Just "some string 1"
    

  7. readEnvDef :: (MonadIO m, Read a) => String -> a -> m a

    read-env-var System.ReadEnvVar

    Lookup a value from an environment variable and read it in with readMaybe. If the environment variable doesn't exist, or it can't be read, return the default value. Like readEnv but with a default value. Read an environment variable that exists:

    >>> setEnv "TEST_ENV_VAR1" "1000"
    
    >>> readEnvDef "TEST_ENV_VAR1" 5 :: IO Int
    1000
    
    Try reading an environment variable that does not exist. Returns the default value:
    >>> readEnvDef "THIS_ENV_VAR_WILL_NOT_EXIST" 5 :: IO Int
    5
    
    Try reading an environment variable that cannot be read. Returns the default value:
    >>> setEnv "BAD_ENV_VAR" "not an int"
    
    >>> readEnvDef "BAD_ENV_VAR" 10 :: IO Int
    10
    
    Note that this DOES NOT read string values as one might expect:
    >>> setEnv "TEST_ENV_VAR2" "some string 1"
    
    >>> readEnvDef "TEST_ENV_VAR2" "def val" :: IO String
    "def val"
    
    It will read string values as if they were Haskell strings:
    >>> setEnv "TEST_ENV_VAR3" "\"some string 1\""
    
    >>> readEnvDef "TEST_ENV_VAR3" "def val" :: IO String
    "some string 1"
    

  8. readEnvEx :: (MonadIO m, Read a, MonadThrow m) => String -> m (Maybe a)

    read-env-var System.ReadEnvVar

    Lookup a value from an environment variable and read it in with readMaybe. Throw an EnvVarDoesNotExistException if the environment variable does not exist. The exception is thrown with throwM from MonadThrow. Read an environment variable that exists:

    >>> setEnv "TEST_ENV_VAR" "2000"
    
    >>> readEnvEx "TEST_ENV_VAR" :: IO (Maybe Int)
    Just 2000
    
    Try reading an environment variable that does not exist. Throws EnvVarDoesNotExistException:
    >>> readEnvEx "THIS_ENV_VAR_WILL_NOT_EXIST" :: IO (Maybe Int)
    *** Exception: EnvVarDoesNotExistException "THIS_ENV_VAR_WILL_NOT_EXIST"
    
    Try reading an environment variable that cannot be read. Returns Nothing:
    >>> setEnv "BAD_ENV_VAR" "not an int"
    
    >>> readEnvEx "BAD_ENV_VAR" :: IO (Maybe Int)
    Nothing
    
    Note that this DOES NOT read string values as one might expect:
    >>> setEnv "TEST_ENV_VAR2" "some string 1"
    
    >>> readEnvEx "TEST_ENV_VAR2" :: IO (Maybe String)
    Nothing
    
    It will read string values as if they were Haskell strings:
    >>> setEnv "TEST_ENV_VAR3" "\"some string 1\""
    
    >>> readEnvEx "TEST_ENV_VAR3" :: IO (Maybe String)
    Just "some string 1"
    

  9. readEnvEx' :: (MonadIO m, Read a, MonadThrow m) => String -> m a

    read-env-var System.ReadEnvVar

    Just like readEnvEx, but also throw an exception when the environment variable cannot be read. This can throw both EnvVarCannotBeReadException and EnvVarDoesNotExistException with throwM. Read an environment variable that exists:

    >>> setEnv "TEST_ENV_VAR" "2000"
    
    >>> readEnvEx' "TEST_ENV_VAR" :: IO Int
    2000
    
    Try reading an environment variable that does not exist. Throws EnvVarDoesNotExistException:
    >>> readEnvEx' "THIS_ENV_VAR_WILL_NOT_EXIST" :: IO Int
    *** Exception: EnvVarDoesNotExistException "THIS_ENV_VAR_WILL_NOT_EXIST"
    
    Try reading an environment variable that cannot be read. Throws EnvVarCannotBeReadException:
    >>> setEnv "BAD_ENV_VAR" "not an int"
    
    >>> readEnvEx' "BAD_ENV_VAR" :: IO Int
    *** Exception: EnvVarCannotBeReadException "BAD_ENV_VAR"
    
    Note that this DOES NOT read string values as one might expect:
    >>> setEnv "TEST_ENV_VAR2" "some string 1"
    
    >>> readEnvEx' "TEST_ENV_VAR2" :: IO String
    *** Exception: EnvVarCannotBeReadException "TEST_ENV_VAR2"
    
    It will read string values as if they were Haskell strings:
    >>> setEnv "TEST_ENV_VAR3" "\"some string 1\""
    
    >>> readEnvEx' "TEST_ENV_VAR3" :: IO String
    "some string 1"
    

  10. package readable

    Reading from Text and ByteString Provides a Readable type class for reading data types from ByteString and Text. Also includes efficient implementations for common data types.

Page 325 of many | Previous | Next