Typegist

Typegist représente l'essence des types OCaml par des valeurs. Cette représentation dynamique des types peut être utilisée pour écrire des fonction génériques indexées par les types telles que impression, sortie et entrée de valeurs, comparateurs, générateurs, editeurs, etc.

Le mécanisme est flexible: plus d'une représentation peut être fournie pour un type donné et tout type accessible peut être décrit modulo les limites de son interface publique. Les types abstraits peuvent être représentés par plusieurs (ou aucune) représentations publiques versionnées ce qui permet d'interfacer le programme avec des représentations plus anciennes.

Le but de Typegist est de fournir une interface ergonomique pour les producteurs et les consommateurs de la représentation. Dès lors elle ne tente pas de capturer toute la complexité du language de définition de types d'OCaml. Elle se focalise sur un coeur structurel décoré par des méta-données existentielles indexées par les types pour permettre la personalisation et l'extension du comportement des fonctions génériques

Typegist est distribuée sous la license ISC. Elle n'a pas de dépendences.