Difference between revisions of "Seminar/2009-03-25"

From LRDE

 
Line 1: Line 1:
Connection closed
 
 
{{SeminarHeader
 
{{SeminarHeader
 
| id = 2009-03-25
 
| id = 2009-03-25
Line 8: Line 7:
 
{{Talk
 
{{Talk
 
| id = 2009-03-25
 
| id = 2009-03-25
| abstract = Si une fonction φ promet de manipuler une valeur de type α sans
+
| abstract = Si une fonction φ promet de manipuler une valeur de type α sans
 
l'observer, on peut utiliser son code sans risque pour toutes les
 
l'observer, on peut utiliser son code sans risque pour toutes les
affectations possibles de α : que la valeur soit entière (α = int) ou
+
affectations possibles de α : que la valeur soit entière (α = int) ou
qu'elle soit un arbre (α = tree), la fonction se comportera
+
qu'elle soit un arbre (α = tree), la fonction se comportera
toujours de façon identique. Cette propriété s'appelle le polymorphisme
+
toujours de façon identique. Cette propriété s'appelle le polymorphisme
paramétrique, l'essence de la généricité.
+
paramétrique, l'essence de la généricité.
   
Promettre de ne pas observer de trop près son argument est un fardeau
+
Promettre de ne pas observer de trop près son argument est un fardeau
 
parfois insupportable pour une fonction, pour des raisons
 
parfois insupportable pour une fonction, pour des raisons
algorithmiques (comment prendre une décision sans savoir ce que vaut
+
algorithmiques (comment prendre une décision sans savoir ce que vaut
 
mon argument ?), ou encore pour des raisons de performances de
 
mon argument ?), ou encore pour des raisons de performances de
bas-niveau (si je sais que α = int, je peux utiliser une primitive
+
bas-niveau (si je sais que α = int, je peux utiliser une primitive
dédiée de mon processeur). Même si le type d'une valeur est caché
+
dédiée de mon processeur). Même si le type d'une valeur est caché
derrière un type plus abstrait α, on peut fournir des mécanismes pour
+
derrière un type plus abstrait α, on peut fournir des mécanismes pour
« le redécouvrir » grâce à des tests dynamiques ou à des raisonnements
+
« le redécouvrir » grâce à des tests dynamiques ou à des raisonnements
purement statiques. La propriété qui permet de diriger son calcul par
+
purement statiques. La propriété qui permet de diriger son calcul par
la forme des types est appelée le polymorphisme intentionnel.
+
la forme des types est appelée le polymorphisme intentionnel.
   
Dans cet exposé, nous présenterons plusieurs versions du
+
Dans cet exposé, nous présenterons plusieurs versions du
polymorphisme intentionnel offertes par différents systèmes de types
+
polymorphisme intentionnel offertes par différents systèmes de types
et de preuves sûrs (c'est-à-dire garantissant que les programmes
+
et de preuves sûrs (c'est-à-dire garantissant que les programmes
ne peuvent pas planter et sont corrects vis-à-vis de leur spécification).
+
ne peuvent pas planter et sont corrects vis-à-vis de leur spécification).
 
| duration = 45 minutes.
 
| duration = 45 minutes.
| orator = Yann Régis-Gianas, laboratoire PPS (Univ. Paris Diderot), équipe πr² (INRIA)
+
| orator = Yann Régis-Gianas, laboratoire PPS (Univ. Paris Diderot), équipe πr² (INRIA)
| resume = Yann Régis-Gianas est maître de conférence de l'Université Paris Diderot.
+
| resume = Yann Régis-Gianas est maître de conférence de l'Université Paris Diderot.
Ancien élève de l'EPITA et du LRDE (promo CSI 2003), il a poursuivi son
+
Ancien élève de l'EPITA et du LRDE (promo CSI 2003), il a poursuivi son
cursus par un DEA SPL (précurseur de l'actuel MPRI) et par un doctorat
+
cursus par un DEA SPL (précurseur de l'actuel MPRI) et par un doctorat
au sein de l'équipe Gallium de l'INRIA. Il ��tudie le design des langages
+
au sein de l'équipe Gallium de l'INRIA. Il étudie le design des langages
de programmation à typage statique garantissant l'absence d'erreurs
+
de programmation à typage statique garantissant l'absence d'erreurs
 
dans les programmes.
 
dans les programmes.
 
| schedule = 14h
 
| schedule = 14h
 
| slides = regis-gianas.pdf
 
| slides = regis-gianas.pdf
| title = Que se cache-t-il derrière ce type ?
+
| title = Que se cache-t-il derrière ce type ?
| urls = http://www.pps.jussieu.fr/ yrg
+
| urls = http://www.pps.jussieu.fr/~yrg
 
}}
 
}}

Latest revision as of 19:04, 26 March 2014

Mercredi 25 mars 2009, 14h-15h30, Amphi 2


Que se cache-t-il derrière ce type ?

Yann Régis-Gianas, laboratoire PPS (Univ. Paris Diderot), équipe πr² (INRIA)

Si une fonction φ promet de manipuler une valeur de type α sans l'observer, on peut utiliser son code sans risque pour toutes les affectations possibles de α : que la valeur soit entière (α = int) ou qu'elle soit un arbre (α = tree), la fonction se comportera toujours de façon identique. Cette propriété s'appelle le polymorphisme paramétrique, l'essence de la généricité.

Promettre de ne pas observer de trop près son argument est un fardeau parfois insupportable pour une fonction, pour des raisons algorithmiques (comment prendre une décision sans savoir ce que vaut mon argument ?), ou encore pour des raisons de performances de bas-niveau (si je sais que α = int, je peux utiliser une primitive dédiée de mon processeur). Même si le type d'une valeur est caché derrière un type plus abstrait α, on peut fournir des mécanismes pour « le redécouvrir » grâce à des tests dynamiques ou à des raisonnements purement statiques. La propriété qui permet de diriger son calcul par la forme des types est appelée le polymorphisme intentionnel.

Dans cet exposé, nous présenterons plusieurs versions du polymorphisme intentionnel offertes par différents systèmes de types et de preuves sûrs (c'est-à-dire garantissant que les programmes ne peuvent pas planter et sont corrects vis-à-vis de leur spécification).

Yann Régis-Gianas est maître de conférence de l'Université Paris Diderot. Ancien élève de l'EPITA et du LRDE (promo CSI 2003), il a poursuivi son cursus par un DEA SPL (précurseur de l'actuel MPRI) et par un doctorat au sein de l'équipe Gallium de l'INRIA. Il étudie le design des langages de programmation à typage statique garantissant l'absence d'erreurs dans les programmes.

http://www.pps.jussieu.fr/~yrg