Hackage上有很多软件包,有些是众所周知的(例如HUnit),有些则知之甚少(例如AspectAG)。我想知道你认为哪个包是一个值得更多用户的隐藏宝石。也许是一个有用的数据结构,monad的帮助者,网络,测试,......?
Hackage上你最喜欢哪个“隐藏的宝石”包?
答案 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工作。
答案 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 - 因为当那些“头脑:未定义”的消息不会消失的时候!