43 votes

Vue d'ensemble des bibliothèques Haskell et leur qualité

Je veux utiliser Haskell dans la production. Il a beaucoup de libraties mais pas tous d'entre eux sont stables, prêt-à-utiliser et bien développé. Certaines bibliothèques intéressants avec les conceptions ont un statut expérimental. De nombreuses bibliothèques sont encore dans les versions mineures (0.0.1 par exemple). Certains d'entre eux vient d'abandonner. Hackage trop énorme pour les surveiller, j'ai donc besoin d'une brève tranche de la bibliothèques de l'état, de leurs perspectives et de l'aptitude à l'emploi.

Je comprends que la question est très large, mais cette information sera utile à quelqu'un, en quelque sorte. Ici, nous pouvons recueillir des informations peu à peu et ensuite l'utiliser pour un document informatif.

Alors que les bibliothèques que je peux utiliser pour:

  • Rapide des tableaux capable de traiter des millions d'articles
  • Puissant et rapide des cartes (probablement, de Données.La carte?)
  • Rapide, générique et pratique des arbres
  • Les files d'attente, les tables de hashage
  • Les expressions régulières
  • Des machines à états finis
  • Les réseaux de neurones, algorithmes génétiques
  • Calculs mathématiques
  • La physique (ce qui peut-être utilisé dans la conception de jeux)
  • GUI
  • Le traitement de l'Image (nous avons de divers formats d'image en fait)
  • Travailler avec des bases de données (peut-être l'ORM ou certains DSLs pour générer du SQL)
  • Fonctionnel réactif de programmation
  • OpenGL liaisons (oui, HOpenGL est bonne), OpenAL et OpenCL liaisons
  • L'analyse (Parsec est grand, je pense)
  • Multithread et la programmation parallèle
  • Réseau
  • Polyvalente des moteurs de jeu
  • Quelque chose d'autre?

Ce qui est aussi intéressant d'avoir les outils pour:

  • Les Tests (QuickCheck)
  • D'enregistrement (Peut-être hslogger)
  • Profilage
  • Débogage

Ici les liens vers les sujets similaires:

D'autres liens

Je vous remercie.

33voto

Thomas M. DuBuisson Points 31851

Je vais laisser cela comme un wiki de la communauté - d'autres personnes s'il vous plaît n'hésitez pas à ajouter des articles ou des commentaires dans un assez concis.

  • Rapide des tableaux capable de traiter des millions d'articles: Repa, Vecteur.
  • Puissant et rapide des cartes: les conteneurs et non ordonnée-conteneurs.
  • Rapide, générique et pratique des arbres:
  • Les files d'attente, les tables de hashage: Voir les tables de hachage forfait pour la dernière et la plus grande.
  • Expressions régulières: regex pcre
  • Des machines à états finis: fsmActions - mais il a la version 0.4.3 alpha; fst - mais pas exactement un FSM. Dans certains cas, PRF sera utile au lieu d'un vrai FSM.
  • Les réseaux de neurones, algorithmes génétiques: HNN est bien établi. Aussi loin que GA, nous avons vraiment un cadre (GA) et quelque chose qui ressemble plus complète (hgalib), mais je n'ai pas inspecté de près.
  • Calculs mathématiques: hmatrix
  • Physique: dimensions.
  • GUI: GTK fonctionne bien. J'ai l'impression que wxhaskell génère plus de questions par habitant, mais c'est un informel impression.
  • Le traitement de l'Image: Analyse? Juteux-Pixels et JuicyPixels-Repa.
  • Non, le traitement de l'Image! Le CV de la bibliothèque a augmenté en dépit de la prexisting HOpenCV (reliures de la bibliothèque OpenCV), avec l'intention d'être plus facile à utiliser. Aussi, le travail sur les Repa est souvent le traitement de l'image conduit, donc Repa est un bon endroit pour chercher.
  • Travailler avec les bases de données: pensez à utiliser l' persistent-* wrappers, mais aussi HDBC.
  • Fonctionnel réactif de programmation: Réactif-banane
  • OpenGL liaisons: vous l'avez dit - OpenGL est bon. Voir aussi GLFW-b.
  • L'analyse: Parsec, attoparsec, polyparse, frisby.
  • Multithread et de programmation parallèle - Voir le parallèle paquet et de Contrôle.La simultanéité. monade-par est relativement nouveau, mais souvent plus facile de raison pour que le parallèle de base de la bibliothèque. Voir aussi async pour les e / s simultanées.
  • Réseau Dépend. Réseau avec blaze-constructeur ou de céréales. Également envisager de réseau-{conduit, énumérateur}. Il y a plusieurs client/serveur wrappers là-bas aussi.
  • Polyvalente des moteurs de jeu: Pour l'apprentissage? brillant. Sinon, vous avez probablement besoin de rouler votre propre, mais utiliser OpenGL, GLUT, GTK, PRF (réactif-banane), l'ogre liaisons, SDL, et peut-être FunGEn si il est de retour sur la bonne voie.
  • Gestion de la Configuration: configurator dispose d'une solide responsable et qui a bien fonctionné pour mes utilisations.
  • XML Processus: HaXml, HXT, xml-conduite - bonne, stable et puissant bibliothèques.

Outils:

Questions Connexes:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X