Ambiguous pattern variables

Abstract : The or-pattern (p | q) matches a value v if either p or q match v. It may happen that both p and q match certain values, but that they don’t bind their variables at the same places. OCaml specifies that the left pattern p then takes precedence, but users intuitively expect an angelistic, making the “best” choice. Subtle bugs arise from this mismatch. We here describe a technique based upon pattern matrices that detect such ambiguities. This technique is implemented as a new warning in the OCaml compiler.
Type de document :
Communication dans un congrès
OCaml 2016: The OCaml Users and Developers Workshop, Sep 2016, Nara, Japan. pp.2, 2016
Liste complète des métadonnées

https://hal.inria.fr/hal-01413241
Contributeur : Luc Maranget <>
Soumis le : vendredi 9 décembre 2016 - 15:20:54
Dernière modification le : samedi 10 décembre 2016 - 01:04:25
Document(s) archivé(s) le : jeudi 23 mars 2017 - 10:24:16

Fichier

ml-workshop-abstract.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01413241, version 1

Collections

Citation

Gabriel Scherer, Luc Maranget, Thomas Réfis. Ambiguous pattern variables. OCaml 2016: The OCaml Users and Developers Workshop, Sep 2016, Nara, Japan. pp.2, 2016. 〈hal-01413241〉

Partager

Métriques

Consultations de la notice

52

Téléchargements de fichiers

28