Description
Very simple config file reading.
Description
This package contains modules for runtime reading of very simple config files of the `key=value` style or as a Haskell data structure to be deserialized with Read
. The modules support files with blank lines and simple single-line comments, but nothing else.
README.md
tce-conf
Synopsis
Very simple config file reading (Haskell)
Description
This package contains modules for runtime reading of very simple config files of the key=value
style or as a Haskell data structure to be deserialized with Read
. The modules support files with blank lines and simple single-line comments, but nothing else.
KVConf
Pros
- Well-known
key=value
config file syntax - Adding new entries doesn't necessarily mean code changes as they are stored in a Map
Cons
- All values are
String
and so may as well be untyped. Conversion to other types will be required by users of the library. - Simulating hierarchies requires hacky key syntax with dots or what-have-you
- Only single-line comments supported at this time, with #
- No support for INI sections or variable substitution
ReadConf
Pros
- Config files are strongly typed Haskell source code.
Read
instancing takes care of everything! - Can easily support hierarchical data because Haskell data types do so
Cons
- Config files must adhere to Haskell source syntax (may not be a con for some)
- Changing the config file at all requires code changes to keep the types synced with each other.
- Only single-line comments supported at this time, with --
- No support for variable substitution
Getting source
- Get the source with darcs:
$ darcs get http://hub.darcs.net/dino/tce-conf
- If you're just looking, browse the source
And once you have it, building the usual way:
$ stack build
$ stack test
Contact
Dino Morelli )