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 – 星期五