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 to host generated Haddocks.

OtherLicense licensed by Marius Ghita
Maintained by

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'
Used by 1 package:
comments powered byDisqus