Article
Algorithmique - Théorème de Curry
PDF
1 vue
0 téléchargement
Résumé
Algorithmique - Théorème de Curry
◮ Pour les fonctions a plusieurs paramètres, nous avons vu 2 notations: # let f1 = function x -> function y -> x + y;; val f1 : int -> int -> int = <fun>
# let f2 = function (x,y) -> x + y;; val f2 : int * int -> int = <fun>
◮ Quelle notation privil´egier?
f1 : E × F → G (x, y) 7−→ f (x, y)
f2 : E → F → G x 7−→ y 7−→ (f x y)
Définition (Currification) Technique transformat une fonction prenant un n-uplet en entrée en une composition de fonctions prenant chacune un seul argument en entrée.
◮ Ce théorème peut se voir comme un isomorphisme entre fonctions (isomorphisme de Curry-Howard) ◮ NB: tout langage utilisant la notion de fermeture peut manipuler des fonctions currifi´ees
◮ Currification / decurrification en Caml: # let curry = function f -> function x -> function y -> f (x,y);;
# let uncurry = function f -> function pair -> (f (fst pair) (snd pair));;
◮ Typage de ces fonctions ? ◮ Interet de la currification: • application fonctionnelle ramenée a un mécanisme uniforme (évaluation d’un paramètre) Lecture recommandée Cours alignement conventionnel Cours alignement conventionnel en PDF, plus de 30 000 cours électromécanique gratuit, exercices gratuit, rapports pfe, l... Electromécanique Lire
◮ Pour les fonctions a plusieurs paramètres, nous avons vu 2 notations: # let f1 = function x -> function y -> x + y;; val f1 : int -> int -> int = <fun>
# let f2 = function (x,y) -> x + y;; val f2 : int * int -> int = <fun>
◮ Quelle notation privil´egier?
f1 : E × F → G (x, y) 7−→ f (x, y)
f2 : E → F → G x 7−→ y 7−→ (f x y)
Définition (Currification) Technique transformat une fonction prenant un n-uplet en entrée en une composition de fonctions prenant chacune un seul argument en entrée.
◮ Ce théorème peut se voir comme un isomorphisme entre fonctions (isomorphisme de Curry-Howard) ◮ NB: tout langage utilisant la notion de fermeture peut manipuler des fonctions currifi´ees
◮ Currification / decurrification en Caml: # let curry = function f -> function x -> function y -> f (x,y);;
# let uncurry = function f -> function pair -> (f (fst pair) (snd pair));;
◮ Typage de ces fonctions ? ◮ Interet de la currification: • application fonctionnelle ramenée a un mécanisme uniforme (évaluation d’un paramètre) Lecture recommandée Cours alignement conventionnel Cours alignement conventionnel en PDF, plus de 30 000 cours électromécanique gratuit, exercices gratuit, rapports pfe, l... Electromécanique Lire
Informations
- Format
- Domaine
- Cours algorithme
- Publié le
- 19 juil. 2021
- Vues
- 1
Ressources liées
Cours algorithme
Propan-2-ol (alcool isopropilique) et l’alcool éthylique dénaturé
PDF
Vues :2
Téléchargements :0
24 févr. 2025
Cours algorithme
Optimisation de chemins de données arithmétique
PDF
Vues :1
Téléchargements :0
15 mai 2024
Commentaires (0)
Connectez-vous pour laisser un commentaire.
Soyez le premier à commenter
Partagez votre avis sur ce document — questions, retours ou votre propre expérience.