Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell中是否有典型的配置或属性文件格式和库?_Haskell_Configuration Files - Fatal编程技术网

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

Haskell中是否有典型的配置或属性文件格式和库?,haskell,configuration-files,Haskell,Configuration Files,我需要一组键值对,用于从文件中读取配置。我尝试在Data.Map上使用show,但它看起来一点也不像我想要的。这似乎是许多其他人可能已经做过的事情,所以我想知道是否有一种标准的方法来做这件事,以及使用什么库。看起来像你想要的 去 单击“” 搜索“配置” 注意(),以及 阅读Haddock文档 选择一对并执行您的任务 把你的发现写在博客上,这样我们其他人就可以从你新发现的专业知识中学习(谢谢!) 编辑: 我最近用过-这很简单。我建议你试试那个 (是的,是的。如果我接受了我自己的建议,我会为大家写一

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

看起来像你想要的

  • 单击“”
  • 搜索“配置”
  • 注意(),以及
  • 阅读Haddock文档
  • 选择一对并执行您的任务
  • 把你的发现写在博客上,这样我们其他人就可以从你新发现的专业知识中学习(谢谢!)
  • 编辑: 我最近用过-这很简单。我建议你试试那个


    (是的,是的。如果我接受了我自己的建议,我会为大家写一个博客)

    我还建议只使用
    Text.JSON
    或一个可用的yaml库(我自己更喜欢JSON,但是…。

    Hackage上的配置类别应该列出所有相关的库:

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

    • 非常好,但目前仅适用于用户编辑的配置。应用程序仅读取配置,无法修改它。因此,它更多地用于服务器端应用程序
    • 有一个简单的API,看起来像是我想要的,可能有点原始,直到我意识到它的存在,并且一些对使用应用程序非常重要的应用程序被应用到github上,但是黑客软件包没有更新
    其他解决方案看起来不适合我,我不喜欢API,但每个应用程序(和口味)都不同

    我认为以JSON为例并不是一个好的解决方案,因为至少在Aeson中,当您在新版本中添加新设置时,没有来自上一版本的新成员的旧JSON将无法加载。而且,我觉得这个解决方案有点冗长

    我的研究结论是,我编写了自己的库,其目标是成为键值、读写,并使用尽可能简洁和类型安全的API。你也可以在我提供的配置类别的黑客链接中找到它

    总之,我认为这是只读配置的标准(它也非常强大,例如,您可以使用导入拆分配置文件)。对于读写,有很多小的库,一些没有维护,我认为没有真正的标准


    2018年更新请务必查看

    taotree:不确定询问者是否被告知编辑,因此。。。“我最近使用了configurator,这很简单。我建议你试试它!”它真的很简单,功能齐全。“阅读文档”-我发现在学习haskell时,它非常难。谢谢你!很高兴你发现它有用@peni4142。现在我主要使用dhall进行内部配置,使用tomland进行需要公开共享的事情(一个toml解析器)。