Исследовательская группа

Лаборатория языковых инструментов

Copattern matching and first-class observations in OCaml

February 19

Бесконечные структуры данных элегантно выражаются с помощью copattern matching --- конструкции, двойственной к сопоставлению с образцом. Она позволяет выражать результаты "наблюдений" (observations) за бесконечными структурами данных. В статье расширяют язык программирования OCaml копаттернами, используя дуальность между ними и обычным паттерн матчингом. Используя возможности GADT, любую конструкцию копаттерн-матчинга можно преобразовать в обычный паттерн матчинг с помощью чисто синтаксического преобразования. В статье также удалось обобщить предыдущие наработки и представить first-class observation queries.

Материалы к докладу:

Paul Laforgue, Yann Régis-Gianas. Copattern matching and first-class observations in OCaml, with a macro // PPDP-17.

Докладчик: Дмитрий Косарев