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.
Document type :
Conference papers
Complete list of metadatas

https://hal.inria.fr/hal-01413241
Contributor : Luc Maranget <>
Submitted on : Friday, December 9, 2016 - 3:20:54 PM
Last modification on : Tuesday, June 11, 2019 - 4:10:02 PM
Long-term archiving on : Thursday, March 23, 2017 - 10:24:16 AM

File

ml-workshop-abstract.pdf
Files produced by the author(s)

Identifiers

  • 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. ⟨hal-01413241⟩

Share

Metrics

Record views

106

Files downloads

216