06 - Structures de données persistantes : De la dérivation formelle à la navigation dans une structure : contextes, zippers, index, etc.
Sciences du logiciel - Xavier Leroy - A podcast by Collège de France

Categories:
Xavier LeroyCollège de FranceScience du logicielAnnée 2022-2023Structures de données persistantesDe la dérivation formelle à la navigation dans une structure : contextes, zippers, index, etc.Il est souvent utile de pouvoir désigner une partie d'une structure de données (par exemple, un sous-arbre d'un arbre) et opérer sur cette partie de manière locale. Dans les algèbres de termes, cela se modélise à l'aide de contextes. Cependant, les « zippers » de Huet, une présentation duale des contextes, permet de se déplacer dans un terme de manière algorithmiquement efficace. Nous verrons comment les types des contextes et des zippers s'obtiennent systématiquement à partir d'un type algébrique en utilisant les mêmes règles que pour la dérivation de fonctions à une variable. Nous ferons ensuite le lien entre zippers et index (« fingers »), une technique algorithmique classique pour tenir à jour des pointeurs à l'intérieur d'un arbre.