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
Authors
- 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
- Copyright date:
- 2010
If you are the owner of this record, you can report an update to it here: Report update to this record