我有兴趣与Google的Haskell标志库非常相似。
以下是对gflags的小介绍,它说明了我喜欢它的原因:http://gflags.googlecode.com/svn/trunk/doc/gflags.html
我在Hackage上查看了各种类似getopt的库,我没有找到一个与gflags的简单性和灵活性相匹配的文件。
即,我想拥有这些功能:
google::ParseCommandLineFlags(&argc, &argv, true);
在环顾四周但没有成功之后,我自己也想到了这个想法(当然也是在Hackage上分享)。但是,我完全不知道注册部分的实现。我需要类似于GCC((构造函数))属性或C ++的静态初始化,但在Haskell中。标准的顶级unsafePerformIO是不够的,因为它是懒惰的,因此在main开始运行之前不会调用它。
答案 0 :(得分:3)
在调查了Hackage上的所有解决方案后(感谢所有提示!),我继续了Don的类型类实现思路,并创建了一个名为HFlags的库。
关于hackage:http://hackage.haskell.org/package/hflags
我还有一篇博文,描述它:http://blog.risko.hu/2012/04/ann-hflags-0.html
答案 1 :(得分:2)
您可能会喜欢CmdArgs,但我还没有充分利用它来判断它是否满足您的所有约束条件。