{-# LANGUAGE NoImplicitPrelude #-} -- | Library for read config files in YAML format. -- -- example.yaml: -- -- @ -- server: -- port: 8080 -- logs: -- access: \/var\/log\/server\/access.log -- error: \/var\/log\/server\/error.log -- @ -- -- Usage example: -- -- @ --module Main where --import Prelude hiding (lookup) --import Data.Word (Word16) --import Data.Yaml.Config (load, subconfig, lookupDefault, lookup) -- --main :: IO () --main = do -- config <- load "./example.yaml" -- -- serverConfig <- subconfig config "server" -- let interface = lookupDefault serverConfig "interface" "127.0.0.1" -- port :: Word16 = lookupDefault serverConfig "port" 80 -- -- logConfig <- subconfig serverConfig "logs" -- accessLog <- lookup logConfig "access" -- errorLog <- lookup logConfig "error" -- -- mapM_ putStrLn [interface, (show port), errorLog, accessLog] -- @ -- module Data.Yaml.Config ( Config , Key , load , keys , subconfig , lookup , lookupDefault ) where import Data.Yaml.Config.Internal