Conference Paper/Proceeding/Abstract 1338 views
Copatterns: programming infinite structures by observations
Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, Volume: 48, Issue: 1, Pages: 27 - 38
Swansea University Author: Anton Setzer
Full text not available from this repository: check for access using links below.
DOI (Published version): 10.1145/2429069.2429075
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...
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: |
Faculty of Science and Engineering |
Issue: |
1 |
Start Page: |
27 |
End Page: |
38 |