Hackage上你最喜欢的“隐藏宝石”包?

时间:2010-05-23 09:07:32

标签: haskell package hackage

Hackage上有很多软件包,有些是众所周知的(例如HUnit),有些则知之甚少(例如AspectAG)。我想知道你认为哪个包是一个值得更多用户的隐藏宝石。也许是一个有用的数据结构,monad的帮助者,网络,测试,......?

Hackage上你最喜欢哪个“隐藏的宝石”包?

6 个答案:

答案 0 :(得分:16)

Oleg Kiselyov的Iteratee。我仍然不太明白它是如何工作的,但是当我需要做一些快速读取60,000个文件并没有时间弄清楚为什么普通的Haskell文件访问方法是这么慢。

同样是Brian O'Sullivan的Attoparsec,根据我的经验,在大型平面文件数据库等方面的表现确实比Parsec好得多。

现在你可以combine the two

Conal Elliott的Vector-space很好地打包了很多线性代数函数,并且让我对类型族感到舒服。

Statistics(再次由O'Sullivan提供)非常方便,因为我更喜欢在Haskell工作而不是在R工作。

HXTCriterion不是“隐藏的宝石”,但在我看来,它们应该得到更广泛的使用。

答案 1 :(得分:12)

Vector - 快速数组变得简单(我不喜欢Data.Array)。如果我只能投一票,那就是现在。

Lazy Small Check(另请参阅paper)进行详尽的测试。

Cereal - 所有常见数据结构都应具有Binary和Serialize实例。相信编译器可以删除死代码。

meldable-heap - 还没有使用它,但这是一个如何开发软件的例子!

Chart - 在为我的论文和演示文稿构建图表时,它对我很有用。

Atom - 我想借口使用它,但尚未得到它。

答案 2 :(得分:8)

我经常使用的一些被低估的,实用的图书馆:

答案 3 :(得分:4)

我喜欢don't库:

main = don't $ do
   name <- getLine
   putStrLn $ "hello " ++ name

答案 4 :(得分:3)

我预测这是自我推销,但我认为我的套餐应该比单独使用更多的用户:)

因此,timeplot是用于绘制日志时间序列的工具。它有很多功能,请参阅广泛的tutorial(里面有很多照片)。

例如,您可以使用它来查看重量级后台进程对响应时间的25%,50%和90%分位数的影响;或者全天查看在线用户数量。

它是“以Unix方式”设计的:你采用任意日志并编写一个快速而简单的直接awk或perl脚本,将其转换为程序的输入(由“事件”组成:离散值脉冲,持续的价值冲动和开始/停止冲动)。

对我来说,分析日志数据非常有用,特别是对于诊断某些“基础结构”性能问题:我看一下系统活动的情节,看看看起来不像它的样子。

答案 5 :(得分:3)

我喜欢interlude - 因为当那些“头脑:未定义”的消息不会消失的时候!