tonaparser-0.1.0.1: Scalable way to pass runtime configurations for tonatona
Safe HaskellNone
LanguageHaskell2010

TonaParser

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

Instances details
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 #

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

Instances details
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) #

(Var a, Typeable a) => Var (Identity a) 
Instance details

Defined in System.Envy

Methods

toVar :: Identity a -> String #

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

(Var a, Typeable a) => Var (First a) 
Instance details

Defined in System.Envy

Methods

toVar :: First a -> String #

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

(Var a, Typeable a) => Var (Last a) 
Instance details

Defined in System.Envy

Methods

toVar :: Last a -> String #

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

(Typeable a, Show a, Read a) => Var (ReadShowVar a) 
Instance details

Defined in System.Envy

data Description Source #

Instances

Instances details
Eq Description Source # 
Instance details

Defined in TonaParser

Read Description Source # 
Instance details

Defined in TonaParser

Show Description Source # 
Instance details

Defined in TonaParser

IsString Description Source # 
Instance details

Defined in TonaParser

Modify parsers

data ParserMods Source #

Instances

Instances details
Semigroup ParserMods Source # 
Instance details

Defined in TonaParser

Monoid ParserMods Source # 
Instance details

Defined in TonaParser