Haskell库的概述和质量

我想在生产中使用Haskell。 它有很多的libraties,但并不是所有的都是稳定的,准备使用和发达的。 一些有趣概念的图书馆具有实验性的地位。 许多库仍然是小版本(例如0.0.1)。 其中一些刚刚放弃。 Hackage太大了,无法监控它们,所以我需要对目前的库状态,它们的前景和适用性进行简要的介绍。

我明白这个问题非常广泛,但是这个信息对任何人都是有用的。 在这里,我们可以一点一点地收集信息,然后将其用于信息性的论文。

那么我可以使用哪些库:

  • 快速arrays能够处理数百万个项目
  • 快速而强大的地图(可能是Data.Map?)
  • 快速,通用和方便的树木
  • 队列,哈希表
  • 常用expression
  • 有限状态机
  • neural network,遗传algorithm
  • math计算
  • 物理(可用于游戏开发)
  • GUI
  • image processing(实际上我们有各种图像格式)
  • 使用数据库(也许ORM或一些DSL来生成SQL)
  • function反应式编程
  • OpenGL绑定(是的,HOpenGL是好的),OpenAL和OpenCL绑定
  • parsing(Parsec是我认为很好)
  • multithreading和并行编程
  • networking
  • 多用途游戏引擎
  • 别的东西?

有什么工具也是有趣的:

  • testing(QuickCheck)
  • logging(也许hslogger)
  • 剖析
  • debugging

这里的类似主题的链接:

  • 什么是最好的Haskell库来操作一个程序?
  • 正则expression式和string库在Haskell中
  • 用于Haskell中严格数据结构的库
  • 内存高效的string在Haskell中
  • 哪个Haskell库用于计算机graphics几何?
  • 哪个Haskell XML库可以使用?

其他链接

  • 应用程序和库(列表和简要说明)
  • 常用expression
  • 你应该使用的Haskell库
  • 现在有很多Haskell库。 我们要做什么呢?
  • 受欢迎的Haskell软件包:2010年第二季度报告

谢谢。

我将把它作为一个社区维基留下来 – 其他人请随时以合理简洁的方式添加项目或评论。

  • 能够处理数百万个物品的快速arrays: Repa , Vector 。
  • 快速和强大的地图: 容器和无序容器 。
  • 快速,通用和方便的树木:
  • 队列,哈希表:查看最新最好的哈希表包。
  • 正则expression式: regex-pcre , regex-tdfa
  • 有限状态机: fsmActions – 但它有版本0.4.3 alpha; fst – 但不完全是一个FSM。 在某些情况下,FRP将会非常有用,而不是真正的FSM。
  • neural network,遗传algorithm:HNN已经很成熟。 就GA而言,我们确实有一个框架( GA )和一些看起来更完整的框架( hgalib ),但我没有仔细检查过它。
  • math计算: hmatrix
  • 物理: 尺寸 。
  • GUI: GTK运行良好。 我感觉到wxhaskell每人都会产生更多的问题,但这是一种非正式的印象。
  • image processing:parsing? 多汁像素和JuicyPixels修理。
  • 不,image processing! 简历 , 星期五 , yarr
  • 使用数据库:考虑使用persistent-* wrappers,但也看看HDBC。 PostgreSQL是稳定的。 对于Cassandra有几个,但考虑到cql 。
  • function性反应式编程: 反应式香蕉 , networking
  • OpenGL绑定: OpenGL , GL 。
  • parsing: Parsec , attoparsec , polyparse , frisby 。
  • multithreading和并行编程 – 请参阅并行程序包和Control.Concurrency 。 monad-par是比较新的,但比基本的并行库更容易推理。 并发IO的asynchronous 。
  • networking – 取决于。 networking与build设者 , 谷物 ,或二元 。 还要考虑network- {conduit,enumerator,pipes}。 有几个客户端/服务器封装在那里。
  • 多用途游戏引擎:用于学习? 光泽 。 否则,你可能需要推出自己的,但使用OpenGL,GLUT,GTK,FRP,食人魔绑定,SDL,也许FunGEn,如果它回到正轨。
  • configurationpipe理: configurator , config-ini 。
  • XML过程: HaXml , HXT , xml-conduit – 良好,稳定和强大的库。

工具:

  • testing – QuickCheck , LazySmallCheck , testing框架 , hspec , HUnit
  • 日志logging – 是的, hslogger或dlist与作家monad如果这是你所需要的。
  • 分析 – hpc , 线程范围 , 标准 , GHC时间和空间分析实用程序。
  • debugging – GHCidebugging,不安全(追踪)debugging,做出更好的性能testing。

相关问题:

  • 哈斯克尔图书馆2D绘图
  • 用随机颜色填充封闭区域 – Haskell – 星期五