-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Small library for typesafe's configuration specification -- -- Small library for typesafe's configuration specification @package hocon @version 0.1.0.2 module Data.Map groupBy :: (Ord k, Eq k) => (v -> k) -> [v] -> Map k [v] sortByKey :: Ord k => Map k v -> Map k v type Map k v = [(k, v)] module Data.HOCON data Config HOCONNode :: Map String Config -> Config HOCONString :: String -> Config HOCONNumber :: Double -> Config HOCONList :: [Config] -> Config HOCONBool :: Bool -> Config HOCONNull :: Config getNode :: String -> Config -> Maybe (Map String Config) hasPath :: String -> Config -> Bool getString :: String -> Config -> Maybe String getNumber :: String -> Config -> Maybe Double getList :: String -> Config -> Maybe [Config] getBool :: String -> Config -> Maybe Bool isNull :: Config -> Bool getConfig :: String -> Config -> Maybe Config pretty :: Config -> String instance GHC.Classes.Eq Data.HOCON.Config instance GHC.Show.Show Data.HOCON.Config module Data.Bifunctor.Extra -- | A bifunctor is a type constructor that takes two type arguments and is -- a functor in both arguments. That is, unlike with -- Functor, a type constructor such as Either does not need -- to be partially applied for a Bifunctor instance, and the -- methods in this class permit mapping functions over the Left -- value or the Right value, or both at the same time. -- -- Formally, the class Bifunctor represents a bifunctor from -- Hask -> Hask. -- -- Intuitively it is a bifunctor where both the first and second -- arguments are covariant. -- -- You can define a Bifunctor by either defining bimap or -- by defining both first and second. -- -- If you supply bimap, you should ensure that: -- --
-- bimap id id ≡ id ---- -- If you supply first and second, ensure: -- --
-- first id ≡ id -- second id ≡ id ---- -- If you supply both, you should also ensure: -- --
-- bimap f g ≡ first f . second g ---- -- These ensure by parametricity: -- --
-- bimap (f . g) (h . i) ≡ bimap f h . bimap g i -- first (f . g) ≡ first f . first g -- second (f . g) ≡ second f . second g --class Bifunctor (p :: Type -> Type -> Type) -- | Map over both arguments at the same time. -- --
-- bimap f g ≡ first f . second g ---- --
-- >>> bimap toUpper (+1) ('j', 3)
-- ('J',4)
--
--
-- -- >>> bimap toUpper (+1) (Left 'j') -- Left 'J' ---- --
-- >>> bimap toUpper (+1) (Right 3) -- Right 4 --bimap :: Bifunctor p => (a -> b) -> (c -> d) -> p a c -> p b d -- | Map covariantly over the first argument. -- --
-- first f ≡ bimap f id ---- --
-- >>> first toUpper ('j', 3)
-- ('J',3)
--
--
-- -- >>> first toUpper (Left 'j') -- Left 'J' --first :: Bifunctor p => (a -> b) -> p a c -> p b c -- | Map covariantly over the second argument. -- --
-- second ≡ bimap id ---- --
-- >>> second (+1) ('j', 3)
-- ('j',4)
--
--
-- -- >>> second (+1) (Right 3) -- Right 4 --second :: Bifunctor p => (b -> c) -> p a b -> p a c mapValues :: (b -> c) -> Map a b -> Map a c module Text.Parser.HOCON.Internal objectParser :: Parser Config stringParser :: Parser Config parseProps :: Parser (String, Config) parseLabel :: Parser String arrayParser :: Parser Config numberParser :: Parser Config booleanParser :: Parser Config nullParser :: Parser Config preProcessing :: String -> String hoconParser :: Parser Config postProcessing :: Config -> Config module Text.Parser.HOCON parseHOCON :: String -> Either ParseError Config -- | The abstract data type ParseError represents parse errors. It -- provides the source position (SourcePos) of the error and a -- list of error messages (Message). A ParseError can be -- returned by the function parse. ParseError is an -- instance of the Show and Eq classes. data ParseError