I want to use Haskell in production. It has a lot of libraties but not all of them are stable, ready-to-use and well-developed. Some libraries with interesting conceptions have experimental status. Many libraries are still in minor versions (0.0.1 for example). Some of them just abandoned. Hackage too huge to monitor them, so I need a brief slice of the current libraries state, their prospects and suitability for use.
I understand that question is very broad, but this information will be useful to anyone in any way. Here we can gather information bit by bit and then use it for an informative paper.
So what libraries I can use for:
- Fast arrays capable of handling millions of items
- Fast and powerful maps (probably, Data.Map?)
- Fast, generic and convenient trees
- Queues, hashtables
- Regular expressions
- Finite state machines
- Neural networks, genetic algorithms
- Mathematical calculations
- Physics (wich can be used in game developing)
- GUI
- Image processing (we have various image formats actually)
- Working with databases (maybe ORM or some DSLs to generate SQL)
- Functional reactive programming
- OpenGL bindings (yes, HOpenGL is good), OpenAL and OpenCL bindings
- Parsing (Parsec is great I think)
- Multithread and parallel programming
- Network
- Multipurpose game engines
- Something else?
What is also interesting to have the tools for:
- Testing (QuickCheck)
- Logging (Maybe hslogger)
- Profiling
- Debugging
Here the links to the similar topics:
- What are the best Haskell libraries to operationalize a program?
- Regex & String Libraries in Haskell
- Libraries for strict data structures in Haskell
- Memory efficient strings in Haskell
- Which Haskell library for computer graphics geometry?
- Which Haskell XML library to use?
Other links
- Applications and libraries (list and brief description)
- Regular expressions
- Haskell libraries you should use
- There are a hell of a lot of Haskell libraries now. What are we going to do about it?
- Popular Haskell Packages: Q2 2010 report
Thank you.