Programmation fonctionnelle en Haskell, tutoriel langage paradigme de programmation fonctionnelle document PDF.
Objectifs de ce cours
• Découvrir un « autre»type de programmation : la programmation fonctionnelle :
-fondé sur la notion de fonction calculable (au sens mathématique)
– le typage(des données, des fonctions),
-la récursivité
• Applications/initiation au calcul symbolique: manipulation d’expressions formelles, logique
• Poursuivien 3eme année d’Info
Chapitre 1 : Introduction
1. Exemples Introductifs
2. Types primitifs
3. Fonctions : définition, typage, récursivité
4. Types construits : paires et tuples
Pour en savoir plus sur le langage et charger un compilateur Haskell :
http://haskell.org/
Pour retrouver les cours et TD-TP :
http://users.info.unicaen.fr/~patrice/cours/Haskell/
1. Exemples Introductifs
— Un langage interactif. Le « prompt» >
— Evaluation d’une expression
> 42
42
> 6*7
42
> sqrt 65
8.06225774829855
> 2 == 1+1
True
> 5 > 3*4
False
2. Types primitifs
Type = ensemble de « données», muni d’opérations (fonctions)
– Types primitifs
• Les entiers (types Int, Integer) : 1, -3…
• Les booléens (type Bool) : True, False
• Les caractères (type Char) : ‘a’, ‘b’…
• Les nombres « réels» (types Float, Double) : -1.2,3.1416
– Types dérivés (définis par des constructeurs)
• Paires : (1,8) (‘a’,’b’)
• Listes : [21,02,2008]
• Fonctions : moyenne :: Float -> Float -> Float
– Types définis par le programmeur
Les entiers
• Opérateurs : +, -, *, div, mod
• Comparateurs : <, <=, ==, /, >, >=, /=
!! Ne pas confondre = (def de fonction) et == (arithmétique)
• Priorités : – (opposé) >> / >> * >> + et-(soustraction)
• Associativité : à gauche
2*3-4+5 = ? -2+8/4*2 =? …
• Int= précision fixée et Integer = précision infinie fact :: Int -> Int — factorielle fact2 :: Integer -> Integer
> fact 20
-2102132736
> fact2 20
2432902008176640000
……….
Programmation fonctionnelle en Haskell (209 Ko) (Cours PDF)