33 votes

Des outils graphiques activement développés et bien documentés pour Haskell

J'ai passé la meilleure partie de ma matinée et l'après-midi à jouer avec GUI cadres en Haskell, car j'ai besoin d'une visualisation et des capacités d'interaction et je ne suis pas en amour avec l'écriture de mes fonctionnalités de base en Haskell puis tuyauterie à un front-end écrite dans un autre GUI; je préfère tout faire à partir d'une langue. La meilleure partie de la meilleure partie a été consacré à la compilation et l'installation de correctifs de code source, ou Googler obscur des erreurs de compilation.

J'ai passé beaucoup de temps à la lecture des questions, beaucoup de temps sur haskell.org et beaucoup, beaucoup de temps à la lecture de la documentation. Ce que j'ai rencontrée est une très grande parcelle de périmés ou mal documenté de l'information. Je peux réduire à ces trois choses:

  1. Une surabondance d'options construit sur Gtk+ fixations. Je ne m'inquiète pas pour Gtk+ très bien, surtout parce que je trouve que c'est assez désagréable à regarder, surtout sur les OS X. Ronchonner à propos de l'INTERFACE utilisateur à la recherche de place et/ou tout simplement laid peut paraître idiot, mais c'est important pour moi. Surtout si je veux que d'autres personnes utilisent l'un des programmes que j'ai créer.

  2. wxHaskell, qui est stable et incroyablement facile à installer, mais de nombreux tutoriels existants semblent être pour wx-0,1 x et les conventions pour combler le wxWidgets 2.9.x docs à wx-de 0,90.x est très très irrégulier et difficile à analyser, lors même qu'elles existent.

  3. qtHaskell, qui semble être en grande partie abandonné (corrigez-moi si je me trompe), ne compile avec des versions plus récentes de GHC, après application d'un ans de patch, et crache une énorme quantité de mises en garde qui indiquent qu'ils vont bientôt devenir des erreurs de compilation dans les versions plus récentes de GHC.

En effet, je suis à la recherche d'Haskell réponse à Java Swing, une bibliothèque qui est robuste, entretenues, bien documenté, facile à prendre en main, fait une tentative pour être indigène dans le regard et le sentir, peut tenir avec GHC le développement de l'apce, et pas à haut risque d'abandon. Cela semble être exactement zéro GUI cadres, mais il semble alors que la plupart des "officiels" ressources/wikis/pages/docs liés à GUI cadres sont malheureusement plus maintenu, donc j'ai décidé de tourner vers la communauté pour voir si il y avait quelque chose que je n'ai pas trouver. Je ne suis pas très inquiet à l'idée sur le cadre de la croix-plate-forme, si tant est que cela fonctionne sur les versions récentes de mac OS X.

Pour rappel, je ne suis pas vraiment à la recherche de quelqu'un pour m'envoyer un lien pour haskell.org ou le WikiBook. J'y ai été, et je n'ai pas aimé ce que j'ai vu. La plupart des informations il y a tellement obsolète qu'il ne crée plus de travail, pas moins.

Je me rends compte que mes "exigences" sont un peu extrême, surtout pour une langue avec une petite communauté comme Haskell, mais j'espérais que quelqu'un là-bas pourrait être de l'aide pour moi. Dans le même temps, j'ai l'intention de simplement essayer et de pédaler wxHaskell ou qtHaskell jusqu'à ce que je réussir ou mourir.

J'espère que je ne suis pas venue sur ton ou exténué.

4voto

Heinrich Apfelmus Points 7200

De quat'sous-gui est le plus récent concurrent dans l'espace de Haskell bibliothèques GUI.

Son principal argument est qu'il est très facile à installer, car il utilise le navigateur web, comme un écran. Il est également facile de commencer avec.

D'autre part, il n'a même pas essayer d'avoir une interface native – l'INTERFACE utilisateur est construit uniquement sur le code HTML. (Cela pourrait changer dans l'avenir, nous avons la possibilité d'utiliser XUL). Aussi, l'API est encore très en mouvement, alors soyez prêt que les nouvelles versions majeures de la bibliothèque sont susceptibles de casser la compatibilité ascendante. (D'un autre côté, cela signifie qu'il est activement développé. :-))

(Divulgation: je suis l'auteur / responsable de quat'sous-package gui.)

4voto

AndrewC Points 21273

wxHaskell est bon, oui, et mon GUI niveau du milieu de la bibliothèque. J'avoue il y a eu une concentration sur la mise à jour du code avant que les docs dans la nouvelle version.

Moderne, fonctionnel réactif-la programmation des choses amusantes sur le dessus de ce que j'gor pour les réactifs de la banane, qui est activement maintenu et a l'avantage supplémentaire que Heinrich Apfelmus lui-même pourrait bien tourner jusqu'ici pour répondre à vos questions.

3voto

RonaldBarzell Points 3166

Je ressens votre douleur; cette réponse est une tentative pour fournir des solutions de rechange qui peut être assez bon et peut-être vous aider dans votre recherche.

Tout d'abord, il y a un langage appelé Simultanées Propre. Il est censé être similaire à Haskell, a GUI de soutien et est destiné pour l'écriture d'applications du monde réel. Elle diffère à certains égards; par exemple, son I/O est basée sur des types uniques plutôt que les Monades, qui, autant que je suis concerné, c'est une bonne chose :). Voici un lien: http://wiki.clean.cs.ru.nl/Clean

Ensuite, j'ai creusé autour d'un Haskell compilé à la JVM, dans l'espoir qu'il serait piggy-back sur les bibliothèques Java, ala Clojure. Pas de dés. Ce que j'ai trouvé un fil de discuter de l'absence et les enjeux de celle-ci: Haskell sur la JVM?

À partir de ce thread cependant, les deux autres options ont été mis en place. On est Frege: http://code.google.com/p/frege/

L'autre est CAL: https://github.com/levans/Open-Quark

Il y a aussi le travail sur fonctionnel réactif de programmation Haskell. Il est censé permettre à des choses comme les Interfaces graphiques, même si ou non vous aurez réellement obtenir une interface graphique, il est d'une autre question: http://www.haskell.org/haskellwiki/Functional_Reactive_Programming

C'est triste. Ici, nous avons la JVM et .NET et encore rien pour Haskell. C'est pire que ça; .NET a montré une tendance alarmante à fossé prometteuses mises en œuvre. Ce qui est arrivé à IronScheme, IronLisp et IronHaskell? Tous les morts pour autant que je peux dire.

Pas bon :(

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