About

Metadata

  • Last updated , by DinoMorelli
  • License BSD-3-Clause
  • Maintained by: Dino Morelli <dino@ui3.info>

  • Lottery factor: 0

Links

Installation

Tested Compilers

  1. 9.12.2
  2. 9.12.1
  3. 9.10.3
  4. 9.10.2
  5. 9.10.1
  6. 9.8.4
  7. 9.8.3
  8. 9.8.2
  9. 9.8.1
  10. 9.6.7
  11. 9.6.6
  12. 9.6.5
  13. 9.6.4
  14. 9.6.3
  15. 9.6.2
  16. 9.6.1
  17. 9.4.8
  18. 9.4.7
  19. 9.4.6
  20. 9.4.5
  21. 9.4.4
  22. 9.4.3
  23. 9.4.2
  24. 9.4.1
  25. 9.2.8
  26. 9.2.7
  27. 9.2.6
  28. 9.2.5
  29. 9.2.4
  30. 9.2.3
  31. 9.2.2
  32. 9.2.1
  33. 9.0.2
  34. 9.0.1
  35. 8.10.7
  36. 8.10.6
  37. 8.10.5
  38. 8.10.4
  39. 8.10.3
  40. 8.10.2
  41. 8.10.1
  42. 8.8.4
  43. 8.8.3
  44. 8.8.2
  45. 8.8.1
  46. 8.6.5
  47. 8.6.4
  48. 8.6.3
  49. 8.6.2
  50. 8.6.1
  51. 8.4.4
  52. 8.4.3
  53. 8.4.2
  54. 8.4.1
  55. 8.2.2
  56. 8.0.2

Readme

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 <dino@ui3.info>