В категории конфигурации на Hackage должны быть перечислены все соответствующие библиотеки: http://hackage.haskell.org/packages/#cat:Configuration
Я сам изучил эту тему, и мой вывод:
- configurator очень хорошо, но в настоящее время это только для редактируемых пользователем конфигураций.Приложение только читает конфигурацию и не может изменить ее.Так что это больше для серверных приложений.
- tconfig имеет простой API и выглядел так, как будто это то, что я хотел, возможно, немного сырой, пока я не понял, что unmaintained и что некоторые коммиты , которые действительно важны для использования приложения, применяются на github, но пакет hackage не обновлялся
Другие решения не выглядели так, как будто бы они работалидля меня мне не понравился API, но все приложения (и вкусы) разные.
Я думаю, что использование JSON, например, не является хорошим решением, потому что, по крайней мере, с Aeson, когда вы добавляете новые настройки вновый выпуск, старый JSON без нового члена из предыдущей версии не будет загружаться.Кроме того, я нахожу это решение немного многословным.
Заключение моего исследования состоит в том, что я написал свою собственную библиотеку app-settings , цель которой - значение ключа, чтение-записьс как можно более кратким и безопасным API.И вы найдете это также в ссылках на взлом для категории конфигураций, которую я дал.
Итак, подведем итог, я думаю, что configurator является стандартом для конфигураций только для чтения (и это оченьтоже мощный, вы можете разделить файл конфигурации с помощью импорта, например).Для чтения-записи существует множество небольших библиотек, некоторые из которых не поддерживаются, и я думаю, что нет реального стандарта.
ОБНОВЛЕНИЕ 2018 Обязательно посмотрите dhall