Copattern matching and first-class observations in OCaml, with a macro

Abstract : Infinite data structures are elegantly defined by means of copattern matching, a dual construction to pattern matching that expresses the outcomes of the observations of an infinite structure. We extend the OCaml programming language with copatterns, exploiting the duality between pattern matching and copattern matching. Pro- vided that a functional programming language has GADTs, every copattern matching can be transformed into a pattern matching via a purely local syntactic transformation, a macro. The development of this extension leads us to a generalization of previous calculus of copatterns: the introduction of first-class observation queries. We study this extension both from a formal and practical point of view.
Type de document :
Communication dans un congrès
International Symposium on Principles and Practice of Declarative Programming, Oct 2017, Namur, Belgium. 〈10.1145/3131851.3131869〉
Liste complète des métadonnées

Littérature citée [17 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01653261
Contributeur : Yann Regis-Gianas <>
Soumis le : vendredi 1 décembre 2017 - 11:39:20
Dernière modification le : jeudi 11 janvier 2018 - 06:27:39

Fichiers

laforgue-17.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Paul Laforgue, Yann Régis-Gianas. Copattern matching and first-class observations in OCaml, with a macro. International Symposium on Principles and Practice of Declarative Programming, Oct 2017, Namur, Belgium. 〈10.1145/3131851.3131869〉. 〈hal-01653261〉

Partager

Métriques

Consultations de la notice

28

Téléchargements de fichiers

47