Programmation
Fonctionnelle
Didier Verna
EPITA
Syntaxe
Expressions
Typage
Conditionnels
Nombres
Listes
Sqrt
Approches Fonctionnelles de la
Programmation
Lisp / Haskell: Tutoriel des Différences
Didier Verna
http://www.lrde.epita.fr/˜didier
1/44
Programmation
Fonctionnelle
Didier Verna
EPITA
Syntaxe
Expressions
Typage
Conditionnels
Nombres
Listes
Sqrt
Table des matières
1Éléments de Syntaxe
2Notion d’Expression
3Typage et Vérification
4Expressions conditionnelles
5Arithmétique
6Listes et Séquences
7Petit exemple : calcul de racines carrées
2/44
Programmation
Fonctionnelle
Didier Verna
EPITA
Syntaxe
Expressions
Typage
Conditionnels
Nombres
Listes
Sqrt
Syntaxe
Ou « abscence de . . . »
Mise en forme :
IHaskell : Indentation (« offside-rule », Peter J. Landin).
Séparateur implicite : ’;’.
Quelques mots réservés.
ILisp : Parenthèses (mais Cf. reader-macros).
Aucun mot réservé.
Nommage :
IHaskell : Indentique au C, plus apostrophe.
Première lettre capitalisée pour les types.
ILisp : N’importe quoi.
Syntaxe spéciale pour les symboles ésothériques :
|...|
4/44
Programmation
Fonctionnelle
Didier Verna
EPITA
Syntaxe
Expressions
Typage
Conditionnels
Nombres
Listes
Sqrt
Opérateurs et fonctions
Notation infixe et préfixe
Lisp : Pas de distinction
(sauf opérateurs spéciaux)
INotation exclusivement préfixe (ou pas : Cf. macros)
IOpérateurs variadiques
IImbrication naturelle
Haskell : Distinction
(mais ponts entre les deux notations)
I3+4(+) 3 4
Idiv 3 4 3 ‘div‘ 4
IProblèmes d’associativité et de précédence
(f n+1,f -12 etc.)
IDéfinition d’opérateurs par notation préfixe
!#$%&*+>/<=>?\^|:-~
5/44
Programmation
Fonctionnelle
Didier Verna
EPITA
Syntaxe
Expressions
Typage
Conditionnels
Nombres
Listes
Sqrt
Rappel : 3 types d’Expressions
3 aspects langagiers
Primitives
Combinaisons Abstractions
Procédures / Données
Expressions littérales :
s’évaluent à elles-mêmes
Expressions combinées :
application de procédures (opérateurs, fonctions) à des
arguments (expressions)
Expressions abstraites :
nommage / assignation d’expressions (simples,
combinées, fonctionnelles)
7/44
1 / 37 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !