C'est un phénomène parfaitement prévisible, même si personne ne l'avait prévu avant que la machine ne l'exhibe:
Un paramètre de type dans un schéma de type Caml est analysé par la règle de grammaire:
paramètre_de_type ::= Litteral ' Identificateuret personne n'avait pensé aux mots-clefs du langage, qui ne sont pas reconnus par l'analyseur lexical comme des identificateurs mais comme des mots-clefs bien sûr. Dans la génération automatique de variables de type en commençant par les variables à une lettre de 'a jusqu'à 'z, en continuant avec les variables à 2 lettres, de 'aa à 'az, on passe nécessairement par la variable 'as.
Or ``as'' est un mot-clef de Caml, donc 'as n'est pas un paramètre de type légal, car ce n'est pas un symbole ' suivi d'un identificateur du langage. Et la règle d'analyse des paramètres de type échoue, comme elle échouerait aussi avec 'let ou 'type ...
Contacter l'auteur Pierre.Weis@inria.fr