Introduction
L'article présente une implémentation de certains équipements de profoncteurs en Haskell. Cette implémentation permet de vérifier les propriétés des équipements à l'aide du compilateur Haskell.
Contexte Technique
L'implémentation utilise la catégorie des types et des fonctions de Haskell comme 0-cellule. Les 1-cellules verticales sont représentées par des instances de Functor, tandis que les 1-cellules horizontales sont représentées par des instances de Profunctor.
Une 2-cellule est représentée par une transformation naturelle, définie comme suit : type Cell f g h j = forall a c . h a c -> j (f a) (g c). La composition horizontale de ces cellules est donnée par la fonction hcomp, qui prend en compte les instances de Functor et de Profunctor.
Analyse et Implications
L'implémentation présente des avantages tels que la vérification des propriétés par le compilateur, mais elle est limitée par la restriction aux seules catégories de types et de fonctions de Haskell. Une implémentation plus complète nécessiterait un langage à types dépendants.
Les constructions plus avancées, telles que les catégories internes à Hask, nécessiteraient l'utilisation de types dépendants. L'implémentation présente est disponible en ligne.
Perspective
Il est important de surveiller les limites de cette implémentation et les prochaines étapes pour une implémentation plus complète. Les équipements de profoncteurs ont des applications potentielles dans divers domaines, tels que la programmation fonctionnelle et la théorie des catégories.