Paradigme 1er Ordre Pureté Évaluation Résumé
Approches Fonctionnelles de la Programmation
e Introduction E
Didier Verna
EPITA / LRDE
lrde/̃didier @didierverna didier.verna google+ in/didierverna
Paradigme 1er Ordre Pureté Évaluation Résumé
Plan
Un paradigme de Programmation
La Fonction : un Objet de 1re Classe
Programmation Fonctionnelle (Im)Pure
Évaluation Stricte / Paresseuse
Résumé
AFP / Introduction – Didier Verna 2/24
Paradigme 1er Ordre Pureté Évaluation Résumé
Plan
Un paradigme de Programmation
La Fonction : un Objet de 1re Classe
Programmation Fonctionnelle (Im)Pure
Évaluation Stricte / Paresseuse
Résumé
AFP / Introduction – Didier Verna 3/24
Paradigme 1er Ordre Pureté Évaluation Résumé
Un Paradigme de Programmation
« Quoi faire » plutôt que « Comment faire »
IUn paradigme ?
IAecte l’expressivité d’un langage
IAecte la manière de penser dans un langage
ILe concept de paradigme est poreux
ILequel ?
IExpressions
IDénitions (expressions nommées)
IÉvaluations (de dénitions ou d’expressions)
AFP / Introduction – Didier Verna 4/24
Paradigme 1er Ordre Pureté Évaluation Résumé
De l’Impératif au Fonctionnel
« La somme des carrés des entiers entre 1et N»
C (impératif)
int ssq (int n)
{
int i= 1, a = 0;
while (i <= n)
{
a+= i*i;
i+= 1;
}
return a;
}
C (récursif)
int ssq (int n)
{
if (n == 1)
return 1;
else
return n*n+ssq (n-1);
}
Lisp
(defun ssq (n)
(if (=n1)
1
(+(*n n) (ssq (1- n)))))
Haskell
ssq :: Int -> Int
ssq 1=1
ssq n=n*n+ssq (n-1)
IClarté
IConcision
AFP / Introduction – Didier Verna 5/24
1 / 24 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 !