tonaparser-0.1.0.0: Scalable way to pass runtime configurations for tonatona

Safe HaskellNone
LanguageHaskell2010

TonaParser

Contents

Description

Integrated parser library created for tonatona meta application framework. It can construct system configuration from environment variables, command line arguments, and any IO values depends on them. See details for example/Main.hs.

Synopsis

Run parser

data Parser a Source #

Main type representing how to construct system configuration.

Instances
Monad Parser Source # 
Instance details

Defined in TonaParser

Methods

(>>=) :: Parser a -> (a -> Parser b) -> Parser b #

(>>) :: Parser a -> Parser b -> Parser b #

return :: a -> Parser a #

fail :: String -> Parser a #

Functor Parser Source # 
Instance details

Defined in TonaParser

Methods

fmap :: (a -> b) -> Parser a -> Parser b #

(<$) :: a -> Parser b -> Parser a #

Applicative Parser Source # 
Instance details

Defined in TonaParser

Methods

pure :: a -> Parser a #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b #

liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c #

(*>) :: Parser a -> Parser b -> Parser b #

(<*) :: Parser a -> Parser b -> Parser a #

MonadIO Parser Source # 
Instance details

Defined in TonaParser

Methods

liftIO :: IO a -> Parser a #

withConfig :: Parser a -> (a -> IO ()) -> IO () Source #

Construct primitive parsers

optionalVal :: Var a => Description -> Source -> a -> Parser a Source #

A Parser constructor for optional values.

requiredVal :: Var a => Description -> Source -> Parser a Source #

A Parser constructor for required values.

optionalEnum :: (Var a, Enum a, Bounded a) => Description -> Source -> a -> Parser a Source #

A Parser constructor for optional values.

requiredEnum :: (Var a, Enum a, Bounded a) => Description -> Source -> Parser a Source #

A Parser constructor for required values.

liftWith :: ((a -> IO ()) -> IO ()) -> Parser a Source #

A Parser constructor from cont.

class Typeable a => Var a where #

Class for converting to / from an environment variable

Methods

toVar :: a -> String #

Convert a value into an environment variable.

fromVar :: String -> Maybe a #

Parse an environment variable.

Instances
Var Bool 
Instance details

Defined in System.Envy

Methods

toVar :: Bool -> String #

fromVar :: String -> Maybe Bool #

Var Double 
Instance details

Defined in System.Envy

Var Int 
Instance details

Defined in System.Envy

Methods

toVar :: Int -> String #

fromVar :: String -> Maybe Int #

Var Int8 
Instance details

Defined in System.Envy

Methods

toVar :: Int8 -> String #

fromVar :: String -> Maybe Int8 #

Var Int16 
Instance details

Defined in System.Envy

Var Int32 
Instance details

Defined in System.Envy

Var Int64 
Instance details

Defined in System.Envy

Var Integer 
Instance details

Defined in System.Envy

Var Word8 
Instance details

Defined in System.Envy

Var Word16 
Instance details

Defined in System.Envy

Var Word32 
Instance details

Defined in System.Envy

Var Word64 
Instance details

Defined in System.Envy

Var () 
Instance details

Defined in System.Envy

Methods

toVar :: () -> String #

fromVar :: String -> Maybe () #

Var String 
Instance details

Defined in System.Envy

Var ByteString 
Instance details

Defined in System.Envy

Var ByteString 
Instance details

Defined in System.Envy

Var Day 
Instance details

Defined in System.Envy

Methods

toVar :: Day -> String #

fromVar :: String -> Maybe Day #

Var UTCTime 
Instance details

Defined in System.Envy

Var Text 
Instance details

Defined in System.Envy

Methods

toVar :: Text -> String #

fromVar :: String -> Maybe Text #

Var Text 
Instance details

Defined in System.Envy

Methods

toVar :: Text -> String #

fromVar :: String -> Maybe Text #

Var a => Var (Maybe a) 
Instance details

Defined in System.Envy

Methods

toVar :: Maybe a -> String #

fromVar :: String -> Maybe (Maybe a) #

Modify parsers