{-# 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 "server" config -- > let interface = lookupDefault "interface" "127.0.0.1" serverConfig -- > port :: Word16 = lookupDefault "port" 80 serverConfig -- > -- > logConfig <- subconfig "logs" serverConfig -- > accessLog <- lookup "access" logConfig -- > errorLog <- lookup "error" logConfig -- > -- > mapM_ putStrLn [interface, (show port), errorLog, accessLog] -- module Data.Yaml.Config ( Config , Key , KeyError(..) , load , keys , subconfig , lookup , lookupDefault ) where import Data.Yaml.Config.Internal