Ce topic est réservé aux projets en cours en ce qui concerne Haskell...
Vous pouvez aussi y poster vos contributions et souhaits concernant ce langage ;)
Version imprimable
Ce topic est réservé aux projets en cours en ce qui concerne Haskell...
Vous pouvez aussi y poster vos contributions et souhaits concernant ce langage ;)
Je me permets de mettre un lien vers le site Wiki du langage Haskell :
http://www.haskell.org/haskellwiki/Haskell
Il existe également une section française ici :
http://www.haskell.org/haskellwiki/Fr/Haskell
Vous pourrez y trouver de nombreuses ressources. On peut remarquer tout particulièrement :
- GHC : The Glorious Glasgow Haskell Compiler
Il s'agit du plus puissant compilateur Haskell à ce jour. Il intègre un compilateur optimiseur, une boucle d'intéraction, un système d'installation, de configuration et de référencement de packages Haskell, ainsi qu'une librairie extrêmement fournie.
La page de GHC se trouve ici :
http://www.haskell.org/ghc/index.html
On peut télécharger GHC sous de nombreuses formes sur cette page :
http://www.haskell.org/ghc/download_ghc_682.html
- Happy : un générateur d'analyseurs syntaxiques disponible ici :
http://www.haskell.org/happy/
- Alex : un générateur d'analyseurs lexicaux disponible ici :
http://www.haskell.org/alex/
Notez qu'il vous faudra l'installer à partir des sources ; pour celà, dans le dossier racine, faire une chose dans le genre
L'option --help donne les différentes commandes possibles.Code:
1
2
3
4 [ InOCamlWeTrust @ Sahara ] runhaskell Script.lhs configure [ InOCamlWeTrust @ Sahara ] runhaskell Script.lhs build [ InOCamlWeTrust @ Sahara ] runhaskell Script.lhs install
- Haddock : un générateur de documentation disponible ici :
http://www.haskell.org/haddock/
- et bien-sûr, Hugs, un interprète Haskell intéractif permettant également de construire des applications binaires destiné principalement à ceux voulant débuter en Haskell ; disponible ici :
http://www.haskell.org/hugs/
Notez qu'il existe également deux autres compilateurs : Nhc98 et Yhc.
Je pense que l'on pourrait ajouter deux choses :
- un petit guide pour un système Haskell (Hugs ou GHC... ma préférence étant ce deuxième)
- un panorama de Prelude ainsi que des principaux modules de la librairie standard (celle de GHC ou de Hugs par exemple, étant donné qu'elles sont très compatibles)
oui dans un premier temps, mais je pense aussi qu'il faudrait mettre des sources permettant de traiter quelques problèmes spécifiques... pour montrer de façon pratique comment ça peut servir, et surtout la puissance de cette façon de faire
(d'ailleurs, ces sources concernent en fait toute la rubrique "Langages fonctionnels" )
Oui, tout à fait : lorsque je parlais de "guide" ou de "panorama", j'entendais "exemples illustrés", et non une simple description... bref, pas dans le style d'un manuel de référence !
J'avais pensé à un petit exemple, toutefois assez complet : un compilo/interprète pour un tout petit langage, du genre affectation + boucles + if-the-else + affichage d'une valeur... ça peut déjà fournir un bon exemple !
oui dans un premier temps, mais je pense aussi qu'il faudrait mettre des sources permettant de traiter quelques problèmes spécifiques... pour montrer de façon pratique comment ça peut servir, et surtout la puissance de cette façon de faire
(d'ailleurs, ces sources concernent en fait toute la rubrique "Langages fonctionnels" )
perso, pour montrer la puissance de l'évaluation paresseuse, je pensais à des structures potentiellement infinies (suite d'entiers, ou réseaux cycliques...), et montrer comment faire des traitements de manière simple dessus
pour ce qui est de la compilation, c'est quand meme assez difficile à faire avaler... peut-etre un interprète serait plus adapter dans un premier temps
Bonjour a vous,
J'en profite pour mettre mon grain de sel. Je me souviens avoir compris le principe d'evaluation paresseuse d'un simple coup d'oeil en comparant l'effet de bord du scheme et l'evaluation paresseuse d'Haskell sur la suite de Fibonacci. (ici un lien mais surtout des tutos) Le plus interessant, a mon avis, est l'utilisation de l'evaluation paresseuse pour generer des effets sonores.
L.
Je sais que c'est accessible par les liens qu'a donné InOCamlWeTrust, mais ce n'est pas vraiment évident à trouver et ça correspond bien à la demande de gorgonite :
99 problèmes en Haskell, il en manque quelques uns et l'idée originale vient du Prolog, mais c'est une façon sympathique de rencontrer un langage.
--
Jedaï
J'avais commencé à le faire en scheme. C'est très sympa comme probleme en tout cas. Pour lisp: http://www.ic.unicamp.br/~meidanis/c..._Problems.htmlCitation:
Envoyé par Jedai
Bonjour,
Je suis en train de traduire en Français un tutorial sur Haskell très intéressant et facile d'accès:
http://www.haskell.org/~pairwise/intro/intro.html
Pour l'instant, j'ai traduit 2 chapitres sur 6.
Je cherche des volontaires pour m'aider dans la suite, et pour les relectures!
a+
Kau
nous sommes toujours volontaires pour réunir des ressources sur les langages fonctionnels ;)
actuellement, personnellement je manque de temps, mais je peux sans doute me charger d'un chapitre
pour la relecture, on aura facilement de nombreux volontaires (ça a été relativement rapide pour l'ensemble du gentle haskell ;))
:merci:
Super!
Gorgonite je te propose de t'occuper du chapitre 2 (ils sont numérotés à partir de 0) ou celui que tu veut à partir du 2.
Personnellement j'ai très peu de temps à y consacrer aussi, 2-3 heures par semaines pas plus!...
J'aimerais finir ce projet pour Noël...
a+
Kau
Ceux qui ont étudié la source de mon solveur de tétrominos ont pu remarquer que l'évaluation des listes de coups possibles se fait en court-circuit.
Autrement dit mon solveur construit des tonnes de listes qui ne se seront jamais parcourues jusqu'à leur fin. En Ojective-Caml il est impossible de ne pas construire ces listes en totalité sans entrelacer la génération avec l'évaluation, en Haskell cela doit être plus facile (naïvement j'imagine que c'est le travail du compilateur), donc si GHC fait bien son travail il doit être plus rapide pour le même code.
C'est la raison principale pour laquelle j'avais proposé cet exercice pour le défi fonctionnel (et d'ailleurs il est toujours candidat puisque à ce jour j'attends encore une réponse négative).
Type lazy_t, peut-être ? Mais c'est sûr, c'est pas automatique.Citation:
Envoyé par SpiceGuid
Bien sûr, lazy et Lazy.force, mais le calcul se termine en 1h environ et il me faudrait probablement bien davantage pour effectuer la modification. Ma question était plutôt: avec Haskell quel gain sans effort ? Et le défi fonctionnel est justement fait pour ça.
Puisque ce sujet s'appelle Haskell : proposition, j'aimerais proposer que vous fassiez une partie Haskell. Visiblement, le forum commence à être ému par Haskell et les messages se multiplient dans la partie commune. Ne serait-ce pas une bonne idée de les regrouper ?
Je suis pour cette proposition de création de nouveau forum...
Je crois qu'Haskell gagne petit à petit en popularité ;)