Minimal ini like configuration library with a few extras
|Latest on Hackage:||0.1.3|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
The module exported provides the ability to manage a configuration file in the users home directory (or the Windows equivalent). Where the configuration takes the form of key=value, without sections, that for example an '.ini' would have.
The library simplifies serilization/deserialization of the configuration into
a structure similar in behavior to a
Map, as well as an interactive way to
fill in values for simple cases.
Consider the following example, where a user would run the application for the first time, it would ask him for his name; however on a followup run it would just print a greeting with his name.
import System.Config.File main = loadLocal ".apprc" >>= \conf -> do let name = getV conf "name" case name of Just n -> putStrLn $ "hello " ++ n Nothing -> do conf' <- fillInteractively conf [("name", acceptNonBlank)] saveConfiguration conf'