para mac descargar compiler haskell libraries

mac - Descripción general de las bibliotecas Haskell y su calidad



haskell website (1)

Quiero usar Haskell en producción. Tiene muchas libraties pero no todas son estables, listas para usar y bien desarrolladas. Algunas bibliotecas con concepciones interesantes tienen estado experimental. Muchas bibliotecas todavía están en versiones menores (0.0.1 por ejemplo). Algunos de ellos acaban de abandonar. Hackage demasiado grande para monitorearlos, por lo que necesito un breve fragmento del estado de las bibliotecas actuales, sus perspectivas y su idoneidad para su uso.

Entiendo que la pregunta es muy amplia, pero esta información será útil para cualquier persona de cualquier manera. Aquí podemos recopilar información poco a poco y luego usarla para un documento informativo.

Entonces, ¿qué bibliotecas puedo usar para:

  • Matrices rápidas capaces de manejar millones de elementos
  • Mapas rápidos y potentes (¿probablemente, Data.Map?)
  • Árboles rápidos, genéricos y convenientes
  • Colas, hashtables
  • Expresiones regulares
  • Máquinas de estado finito
  • Redes neuronales, algoritmos genéticos
  • Calculos matematicos
  • Física (que se puede usar en el desarrollo de juegos)
  • GUI
  • Procesamiento de imagen (actualmente tenemos varios formatos de imagen)
  • Trabajar con bases de datos (quizás ORM o algunas DSL para generar SQL)
  • Programación reactiva funcional
  • Enlaces OpenGL (sí, HOpenGL es bueno), enlaces OpenAL y OpenCL
  • Análisis (Parsec es genial, creo)
  • Programación multiproceso y paralelo
  • Red
  • Motores de juegos multipropósito
  • ¿Algo más?

También es interesante tener las herramientas para:

  • Prueba (QuickCheck)
  • Logging (Tal vez hslogger)
  • Perfilado
  • Depuración

Aquí los enlaces a los temas similares:

Otros enlaces

Gracias.


Dejaré esto como una wiki de la comunidad; otras personas pueden agregar elementos o comentarios de una manera razonablemente concisa.

  • Matrices rápidas capaces de manejar millones de elementos: Repa , Vector .
  • Mapas rápidos y potentes: containers y containers unordered-containers .
  • Árboles rápidos, genéricos y convenientes:
  • Colas, tablas hash: consulte el paquete de hashtables para lo último y lo mejor.
  • Expresiones regulares: regex-pcre , regex-tdfa
  • Máquinas de estados finitos: fsmActions - pero tiene la versión 0.4.3 alpha; fst , pero no exactamente un FSM. En algunos casos, FRP será útil en lugar de FSM verdadero.
  • Redes neuronales, algoritmos genéticos: HNN está bien establecido. En cuanto a GA, realmente tenemos un marco ( GA ) y algo que parece más completo ( hgalib ), pero no lo he inspeccionado de cerca.
  • Cálculos matemáticos: hmatrix
  • Física: dimensional .
  • GUI: GTK funciona bien. Me da la sensación de que wxhaskell genera más preguntas per-capita, pero eso es una impresión informal.
  • Procesamiento de imágenes: ¿análisis? Juicy-Pixels y JuicyPixels-Repa.
  • No, ¡procesamiento de imágenes! El CV , Friday , yarr
  • Trabajar con bases de datos: considere usar persistent-* envoltorios, pero también vea HDBC. PostgreSQL es estable. Para Cassandra hay varios, pero considere cql .
  • Programación reactiva funcional: Reactive-banana , netwire
  • Enlaces OpenGL: OpenGL , GL .
  • Análisis: Parsec , attoparsec , polyparse , frisby .
  • Programación multiproceso y paralelo: consulte el paquete parallel y Control.Concurrency . monad-par es relativamente nuevo, pero a menudo más fácil de razonar que la biblioteca paralela básica. Ver también async para IO concurrente.
  • Red - Depende. Network con blaze-builder , cereal o binary . Considere también network- {conduit, enumerator, pipes}. También hay varios contenedores cliente / servidor.
  • Motores de juegos multipropósito: ¿para aprender? gloss . De lo contrario, es probable que necesites rodar el tuyo propio, pero utiliza OpenGL, GLUT, GTK, FRP, enlaces ogre, SDL y quizás FunGEn si está de nuevo en marcha.
  • Gestión de configurator : configurator , config-ini .
  • Proceso XML: HaXml , HXT , xml-conduit - bibliotecas buenas, estables y potentes.

Herramientas:

Preguntas relacionadas: