INF121:
Algorithmique et Programmation Fonctionnelle
Cours 9 : Polymorphisme, Ordre supérieur, et Curryfication
Année 2013 - 2014
Rappel des épisodes précédents
Itypes prédéfinis : booléens, entiers, réels, . . .
Iexpression conditionelle if ... then ... else ...
Iidentificateurs (locaux et globaux)
Idéfinition et utilisation de fonctions
Idéfinition de types : synonyme, énuméré, produit, somme
Ifiltrage par pattern-matching
Irécursion
Ifonctions récursives, terminaison
Itypes récursifs
Ilistes avec constructeurs explicites (Cons/Nil) et notations OCaml ([], ::)
1 / 13
Plan
Polymorphisme
Ordre supérieur
Plan
Polymorphisme
Ordre supérieur
Pourquoi le polymorphisme ? (1)
étendre la notion de fonction
Définition d’une fonction identité :
IIdentité sur les int :
let id (x:int):int =xval id :int int = <fun>
IIdentité sur les float :
let id (x:float):float =xval id :float float = <fun>
IIdentité sur les char :
let id (x:char):char =xval id :char char = <fun>
Inconvénients :
Iune fonction par type pour lesquels la fonction est définie
Ides noms différents sont nécessaires si ces fonctions doivent “cohabiter”
dans un même programme . . .
2 / 13
1 / 17 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 !