您最喜欢哪一个“隐藏的宝石”? Hackage 上的包?
Hackage 上有很多软件包,有些广为人知(例如 HUnit),有些则不太知名(例如 AspectAG)。我想知道您认为哪个软件包是值得更多用户使用的隐藏宝石。也许是一个有用的数据结构、单子帮助器、网络、测试……?
Hackage 上您最喜欢哪个“隐藏的宝石”包?
There are a lot of packages on Hackage, some well known (such as HUnit) and some less known (such as AspectAG). I'm wondering which package you think is a hidden gem that deserves more users. Maybe a useful data structure, helpers for monads, networking, test, ...?
Which is your favorite "hidden gem" package on Hackage?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
Oleg Kiselyov 的 Iteratee。我仍然不太明白它是如何工作的,但是当我需要快速读取 60,000 个文件之类的事情并且没有时间弄清楚为什么正常的 Haskell 文件访问方法是这样时,它救了我几次命这么慢。
还有 Brian O'Sullivan 的 Attoparsec,根据我的经验,它在大型数据上的表现确实比 Parsec 好得多平面文件数据库。
现在您可以将两者结合起来。
Conal Elliott 的 Vector-space 很好地封装了很多线性代数函数,并且还得到了我对与类型家庭相处更感到舒服了一点。
Statistics(再次由 O'Sullivan 提供)非常方便,因为我更喜欢在 Haskell 中工作而不是在 Haskell 中工作在 R.
HXT 和 Criterion 不是“隐藏的宝石”,但在我看来它们应该得到更广泛的使用。
Oleg Kiselyov's Iteratee. I still don't really understand how it works, but it's saved my life a couple of times when I've needed to do something like read 60,000 files quickly and didn't have time to figure out why the normal Haskell file access approaches were so slow.
Also Brian O'Sullivan's Attoparsec, which in my experience does perform much better than Parsec on things like large flat-file databases.
And now you can combine the two.
Conal Elliott's Vector-space packages up a lot of linear algebra functions very nicely, and also got me a little closer to feeling comfortable with type families.
Statistics (again by O'Sullivan) has been handy because I'd prefer to work in Haskell than in R.
HXT and Criterion aren't "hidden gems", but in my opinion they deserve to be more widely used.
Vector - 快速数组变得简单(我不喜欢 Data.Array)。如果我只能投一票的话,现在就是这个。
Lazy Small Check(另请参阅论文)进行详尽的测试。
Cereal - 所有常见数据结构都应该具有 Binary 和 Serialize 实例。相信编译器会删除死代码。
meldable-heap - 还没有使用它,但这是一个例子软件应该如何开发!
图表 - 在为我的论文和演示文稿构建图表时,它对我很有用。
Atom - 我想要一个使用它的借口,但还没有找到。
Vector - fast arrays made easy (I don't like Data.Array). If I could only vote for one, this would be it right now.
Lazy Small Check (also see the paper) for exhaustive testing.
Cereal - all common data structures should have Binary and Serialize instances. Trust the compiler to drop dead code.
meldable-heap - Haven't gotten to use it yet, but this is an example of how software should be developed!
Chart - Its been useful for me when building charts for my paper and presentations.
Atom - I'd like an excuse to use it, but haven't had gotten one yet.
我经常使用一些被低估的实用库:
Some underappreciated, pragmatic libraries I use fairly often:
我喜欢不 库:
I like the don't library:
我预先警告,这是自我推销,但我认为我的包值得比我自己更多的用户:)
所以, timeplot 是一个从日志中绘制时间序列的工具。它有很多功能,请参阅详细的教程(里面有很多图片)。
例如,您可以使用它来查看重量级后台进程对响应时间的 25%、50% 和 90% 分位数的影响;或者查看全天在线用户数量。
它是“以 Unix 方式”设计的:您获取任意日志并编写一个快速而直接的 awk 或 perl 脚本,将其转换为程序的输入(由“事件”组成:离散值脉冲、连续值脉冲和启动/停止脉冲)。
它对我分析日志数据非常有用,特别是在诊断某些“基础设施”性能问题时:我查看系统活动图,发现哪些内容与应有的情况不符。
I forewarn that this is self-promotion, but I think that my package deserves more users than solely myself :)
So, timeplot is a tool for plotting time series from logs. It has quite a few features, see the extensive tutorial (lots of pics inside).
For example, you can use it to look at the effect of a heavyweight background process on 25%, 50% and 90% quantiles of your response times; or look at the number of users online throughout a day.
It is designed "in the Unix way": you take an arbitrary log and write a quick-and-dirty straightforward awk or perl script that transforms it into input for the program (consisting of "events": discrete value impulses, continuous value impulses and start/stop impulses).
It has been quite useful for me in analyzing log data, especially for diagnosing certain "infrastructural" performance problems: I look at plots of the system activity and I see what looks not the way it is supposed to look like.
我喜欢 插曲 - 因为那些该死的“head: undefined”消息不会消失!
I like interlude - for when those darn 'head: undefined' messages just won't go away!