Bonjour, je me suis mis à Haskell il y a quelques semaines. C'est un langage particulièrement difficile à apprendre, surtout si on vient d'un monde impératif, paradigme qui constitue celui de la majorité des langages en production au 21ème siècle.
En particulier faire des IO est un peu délicat lors d'un premier jet. En fait, pour être productif, il faut y passer beaucoup de temps, un apprentissage sérieux prendra plus de six mois.
Je trouve l'exemple donné ci-dessus un peu élaboré, et il manque les déclarations de type. Celles ci ne sont pas obligatoires en Haskell mais vivement conseillées car elles permettent de mieux comprendre le code et évitent aussi les erreurs lors de la rédaction d'un programme.
Voici quelques exemples de fonctions élémentaires réalisées avec Haskell :
{- Prends un argument qui supporte '*' et retourne le double -}dblx=x*2{- double chaque élément dans une liste (list comprehension) -}dblllx=[dblk|k<-lx]{- renvoie la liste des digits dans une base donnee (attention dans l'ordre inverse) -}get_digits_basisnb=ifn<=0then[]elsem:(get_digits_basis(quot(n-m)b)b)wherem=modnb{- Même chose mais avec des guards -- plus lisible -- et avec une déclaration de types -}get_digits_basis2::Int->Int->[Int]get_digits_basis2nb|n<=0=[]|otherwise=m:(get_digits_basis2(quot(n-m)b)b)wherem=modnb{- application en base 10 -}get_decimaln=reverse(get_digits_basis2n10){- application en base 2 -}get_binaryn=reverse(get_digits_basis2n2){- renvoie la somme des digits d'un nombre entier quelconque -}sumDigits[]=0sumDigits(x:y)=sum(get_decimalx)+sumDigitsy
Être productif en Haskell demandera sans doute de longs mois d'apprentissage, en tous cas je n'en suis pas au bout.
# Point de vue de novice
Posté par nlhss . En réponse à la dépêche Le compilateur GHC Haskell en version 8.0.1. Évalué à 4.
Bonjour, je me suis mis à Haskell il y a quelques semaines. C'est un langage particulièrement difficile à apprendre, surtout si on vient d'un monde impératif, paradigme qui constitue celui de la majorité des langages en production au 21ème siècle.
En particulier faire des IO est un peu délicat lors d'un premier jet. En fait, pour être productif, il faut y passer beaucoup de temps, un apprentissage sérieux prendra plus de six mois.
Je trouve l'exemple donné ci-dessus un peu élaboré, et il manque les déclarations de type. Celles ci ne sont pas obligatoires en Haskell mais vivement conseillées car elles permettent de mieux comprendre le code et évitent aussi les erreurs lors de la rédaction d'un programme.
Voici quelques exemples de fonctions élémentaires réalisées avec Haskell :
Être productif en Haskell demandera sans doute de longs mois d'apprentissage, en tous cas je n'en suis pas au bout.