Haskell中是否有典型的配置或属性文件格式和库?

时间:2011-01-06 14:47:27

标签: haskell configuration-files

我需要一组键值对来从文件中读取配置。我尝试在Data.Map上使用show,它看起来并不像我想要的那样。这似乎是许多其他人可能已经做过的事情,所以我想知道是否有标准的方法来做它以及使用什么库。

4 个答案:

答案 0 :(得分:16)

答案 1 :(得分:6)

Hackage上的配置类别应列出所有相关库: http://hackage.haskell.org/packages/#cat:Configuration

我现在自己研究了这个话题,我的结论是:

  • configurator非常好,但它目前仅适用于用户编辑的配置。应用程序仅读取配置,无法修改它。因此,对于服务器端应用程序来说更是如此。
  • tconfig有一个简单的API,看起来就像我想要的,也许有点原始,直到我意识到它unmaintained和一些commits真的使用该应用程序的重要性是应用于github但hackage包未更新

其他解决方案看起来并不适合我,我不喜欢API,但每个应用程序(和品味)都不同。

我认为使用JSON不是一个好的解决方案,因为至少在新版本中添加新设置时使用Aeson,没有新版本成员的旧JSON不会加载。此外,我觉得这个解决方案有点冗长。

我的研究结论是我编写了自己的库app-settings,它的目标是键值,读写,尽可能使用succint和类型安全的API。而且你也会在我给出的配置类别的hackage链接中找到它。

总而言之,我认为configurator是只读配置的标准(它也非常强大,你可以用导入拆分配置文件)。对于读写,有许多小型库,有些是未维护的,我认为没有真正的标准。

更新2018年请务必查看dhall

答案 2 :(得分:4)

答案 3 :(得分:3)

configfile package看起来像你想要的。