Ответ 1
Я оставлю это как сообщество wiki - другие люди, пожалуйста, не стесняйтесь добавлять элементы или комментарии в достаточно сжатой форме.
- Быстрые массивы, способные обрабатывать миллионы элементов: Repa, Vector.
- Быстрые и мощные карты: containers и unordered-containers.
- Быстрые, общие и удобные деревья:
- Очереди, hashtables: см. пакет hashtables для самого последнего и самого большого.
- Регулярные выражения: regex-pcre, regex-tdfa
- Конечные автоматы: fsmActions - но он имеет версию 0.4.3 alpha; fst - но не совсем FSM. В некоторых случаях FRP будет полезен вместо истинного FSM.
- Нейронные сети, генетические алгоритмы: HNN хорошо установлен. Что касается GA, у нас действительно есть структура (GA) и что-то, что выглядит более полным (hgalib), но я не внимательно его изучил.
- Математические вычисления: hmatrix
- Физика: dimensional.
- GUI: GTK работает хорошо. Я понимаю, что wxhaskell генерирует больше вопросов на душу населения, но это неформальное впечатление.
- Обработка изображений: анализ? Сочные пиксели и JuicyPixels-Repa.
- Нет, обработка изображений! CV, Friday, yarr
- Работа с базами данных: рассмотрите использование оберток
persistent-*
, а также посмотрите на HDBC. PostgreSQL является стабильным. Для Кассандры их несколько, но рассмотрим cql. - Функциональное реактивное программирование: Reactive-banana, netwire
- привязки OpenGL: OpenGL, GL.
- Разбор: Parsec, attoparsec, polyparse, frisby.
- Многопоточное и параллельное программирование - см. parallel и Control.Concurrency. monad-par является относительно новым, но часто легче рассуждать, чем базовая параллельная библиотека. См. Также async для параллельного ввода-вывода.
- Сеть - зависит. Network с blaze-builder, cereal, или binary. Также рассмотрите network- {conduit, enumerator, pipes}. Существует также несколько оберток клиентов и серверов.
- Многоцелевые игровые движки: для обучения? gloss. В противном случае вам, вероятно, придется сворачивать свои собственные, но использовать OpenGL, GLUT, GTK, FRP, привязки ogre, SDL и, возможно, FunGEn если он вернулся на дорожку.
- Управление конфигурацией: configurator, config-ini.
- Процесс XML: HaXml, HXT, xml-conduit - хорошие, стабильные и мощные библиотеки.
Инструменты:
- Тестирование - QuickCheck, LazySmallCheck, Test-Framework, hspec, HUnit
- Logging - Yep, hslogger или dlist с монадой-автором, если это все, что вам нужно.
- Профилирование - hpc, область потока, criterion, время GHC и space профилирующие утилиты.
- Отладка - отладка GHCi, небезопасная (трассировка) отладка, улучшающая тесты свойств.
Вопросы, относящиеся: