No Cover Image

Conference Paper/Proceeding/Abstract 1116 views

Copatterns: programming infinite structures by observations

Andreas Abel, Brigitte Pientka, David Thibodeau, Anton Setzer Orcid Logo

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 Orcid Logo

Full text not available from this repository: check for access using links below.

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!
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>SCS</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>Computer Science</department><CollegeCode>COLLEGE CODE</CollegeCode><DepartmentCode>SCS</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 SCS 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 Computer Science COLLEGE CODE SCS 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-31T03:15:39Z
_version_ 1763750276666228736
score 10.997956