Conference Paper/Proceeding/Abstract 1336 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 |
first_indexed |
2013-07-23T12:10:41Z |
---|---|
last_indexed |
2019-06-05T09:30:35Z |
id |
cronfa13696 |
recordtype |
SURis |
fullrecord |
<?xml version="1.0"?><rfc1807><datestamp>2019-06-03T11:20:35.4493523</datestamp><bib-version>v2</bib-version><id>13696</id><entry>2012-12-14</entry><title>Copatterns: programming infinite structures by observations</title><swanseaauthors><author><sid>5f7695285397f46d121207120247c2ae</sid><ORCID>0000-0001-5322-6060</ORCID><firstname>Anton</firstname><surname>Setzer</surname><name>Anton Setzer</name><active>true</active><ethesisStudent>false</ethesisStudent></author></swanseaauthors><date>2012-12-14</date><deptcode>MACS</deptcode><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.</abstract><type>Conference Paper/Proceeding/Abstract</type><journal>Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages</journal><volume>48</volume><journalNumber>1</journalNumber><paginationStart>27</paginationStart><paginationEnd>38</paginationEnd><publisher>ACM, New York, NY, USA</publisher><issnPrint>0362-1340</issnPrint><keywords>Coinduction, functional programming, introduction vs elimination, message passing, pattern matching</keywords><publishedDay>31</publishedDay><publishedMonth>12</publishedMonth><publishedYear>2013</publishedYear><publishedDate>2013-12-31</publishedDate><doi>10.1145/2429069.2429075</doi><url>http://doi.acm.org/10.1145/2480359.2429075</url><notes/><college>COLLEGE NANME</college><department>Mathematics and Computer Science School</department><CollegeCode>COLLEGE CODE</CollegeCode><DepartmentCode>MACS</DepartmentCode><institution>Swansea University</institution><apcterm/><lastEdited>2019-06-03T11:20:35.4493523</lastEdited><Created>2012-12-14T21:58:26.2534451</Created><path><level id="1">Faculty of Science and Engineering</level><level id="2">School of Mathematics and Computer Science - Computer Science</level></path><authors><author><firstname>Andreas</firstname><surname>Abel</surname><order>1</order></author><author><firstname>Brigitte</firstname><surname>Pientka</surname><order>2</order></author><author><firstname>David</firstname><surname>Thibodeau</surname><order>3</order></author><author><firstname>Anton</firstname><surname>Setzer</surname><orcid>0000-0001-5322-6060</orcid><order>4</order></author></authors><documents/><OutputDurs/></rfc1807> |
spelling |
2019-06-03T11:20:35.4493523 v2 13696 2012-12-14 Copatterns: programming infinite structures by observations 5f7695285397f46d121207120247c2ae 0000-0001-5322-6060 Anton Setzer Anton Setzer true false 2012-12-14 MACS 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. Conference Paper/Proceeding/Abstract Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages 48 1 27 38 ACM, New York, NY, USA 0362-1340 Coinduction, functional programming, introduction vs elimination, message passing, pattern matching 31 12 2013 2013-12-31 10.1145/2429069.2429075 http://doi.acm.org/10.1145/2480359.2429075 COLLEGE NANME Mathematics and Computer Science School COLLEGE CODE MACS Swansea University 2019-06-03T11:20:35.4493523 2012-12-14T21:58:26.2534451 Faculty of Science and Engineering School of Mathematics and Computer Science - Computer Science Andreas Abel 1 Brigitte Pientka 2 David Thibodeau 3 Anton Setzer 0000-0001-5322-6060 4 |
title |
Copatterns: programming infinite structures by observations |
spellingShingle |
Copatterns: programming infinite structures by observations Anton Setzer |
title_short |
Copatterns: programming infinite structures by observations |
title_full |
Copatterns: programming infinite structures by observations |
title_fullStr |
Copatterns: programming infinite structures by observations |
title_full_unstemmed |
Copatterns: programming infinite structures by observations |
title_sort |
Copatterns: programming infinite structures by observations |
author_id_str_mv |
5f7695285397f46d121207120247c2ae |
author_id_fullname_str_mv |
5f7695285397f46d121207120247c2ae_***_Anton Setzer |
author |
Anton Setzer |
author2 |
Andreas Abel Brigitte Pientka David Thibodeau Anton Setzer |
format |
Conference Paper/Proceeding/Abstract |
container_title |
Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages |
container_volume |
48 |
container_issue |
1 |
container_start_page |
27 |
publishDate |
2013 |
institution |
Swansea University |
issn |
0362-1340 |
doi_str_mv |
10.1145/2429069.2429075 |
publisher |
ACM, New York, NY, USA |
college_str |
Faculty of Science and Engineering |
hierarchytype |
|
hierarchy_top_id |
facultyofscienceandengineering |
hierarchy_top_title |
Faculty of Science and Engineering |
hierarchy_parent_id |
facultyofscienceandengineering |
hierarchy_parent_title |
Faculty of Science and Engineering |
department_str |
School of Mathematics and Computer Science - Computer Science{{{_:::_}}}Faculty of Science and Engineering{{{_:::_}}}School of Mathematics and Computer Science - Computer Science |
url |
http://doi.acm.org/10.1145/2480359.2429075 |
document_store_str |
0 |
active_str |
0 |
description |
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. |
published_date |
2013-12-31T12:28:26Z |
_version_ |
1821408500311392256 |
score |
11.123185 |