No Cover Image

Conference contribution 244 views 80 downloads

Copatterns: programming infinite structures by observations / Andreas Abel; Brigitte Pientka; David Thibodeau; Anton Setzer

Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, Volume: 48, Issue: 1, Pages: 27 - 38

Swansea University Author: Setzer, Anton

Abstract

This article which will appear in the proceedings of POPL 2013 in January 2013, introduces the dual of pattern matching, as it is used in functional programming for defining functions, by copatterns. Whereas data types are eliminated by pattern matching, i.e. by giving giving a choice for each const...

Full description

Published in: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ISSN: 0362-1340
Published: ACM, New York, NY, USA 2013
Online Access: Check full text

URI: https://cronfa.swan.ac.uk/Record/cronfa13696
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract: This article which will appear in the proceedings of POPL 2013 in January 2013, introduces the dual of pattern matching, as it is used in functional programming for defining functions, by copatterns. Whereas data types are eliminated by pattern matching, i.e. by giving giving a choice for each constructor, coalgebras are introduced by copatterns, namely by giving the result of each eliminator. Patterns and copatterns are entirely symmetrical. This article introduces a language which allows to define data types, coalgebras, and functions by nested pattern and copattern matching. An operational semantics is introduced, and type soundness and subject reduction is shown.
Keywords: Coinduction, functional programming, introduction vs elimination, message passing, pattern matching
College: College of Science
Issue: 1
Start Page: 27
End Page: 38