Conference item icon

Conference item

Gradual Refinement Blending Pattern Matching with Data Abstraction

Abstract:
Pattern matching is advantageous for understanding and reasoning about function definitions, but it tends to tightly couple the interface and implementation of a datatype. Significant effort has been invested in tackling this loss of modularity; however, decoupling patterns from concrete representations while maintaining soundness of reasoning has been a challenge. Inspired by the development of invertible programming, we propose an approach to abstract datatypes based on a rightinvertible language rinv-every function has a right (or pre-) inverse.We show how this new design is able to permit a smooth incremental transition from programs with algebraic datatypes and pattern matching, to ones with proper encapsulation (implemented as abstract datatypes), while maintaining simple and sound reasoning. © 2010 Springer-Verlag Berlin Heidelberg.
Publication status:
Published

Actions


Access Document


Publisher copy:
10.1007/978-3-642-13321-3_22

Authors


More by this author
Institution:
University of Oxford
Division:
MPLS
Department:
Computer Science
Role:
Author


Host title:
MATHEMATICS OF PROGRAM CONSTRUCTION, PROCEEDINGS
Volume:
6120
Pages:
397-425
Publication date:
2010-01-01
DOI:
EISSN:
1611-3349
ISSN:
0302-9743
ISBN:
9783642133206


Pubs id:
pubs:163461
UUID:
uuid:7ad3b7fd-0a98-4835-9840-85adc7b0a136
Local pid:
pubs:163461
Source identifiers:
163461
Deposit date:
2012-12-19

Terms of use



Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP