|
ABSTRACT
Polytypic programming and data abstraction are important concepts in designing functional programs, but they do not fit well together. Polytypic programming currently depends on making public a free data type representation, while data abstraction depends on hiding the representation. This paper proposes the bialgebra views mechanism as a means of reconciling this conflict. Bialgebra views enable the specification of type structure according to interfaces, not representations, thus combining the genericity of polytypic programming with the information hiding of data abstraction, and narrowing the gap between generic programming in the functional and object-oriented paradigms.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
Maarten M. Fokkinga. Law and Order in Algorithmics. PhD thesis, Universiteit Twente, The Netherlands, 1992.
|
| |
4
|
Jeremy Gibbons. Patterns in datatype-generic programming. In Declarative Programming in the Context of Object-Oriented Languages, 2003.
|
| |
5
|
Jeremy Gibbons and Bruno C. d. S. Oliveira. The essence of the Iterator pattern. In Mathematically-Structured Functional Programming, 2006.
|
| |
6
|
Ralf Hinze. Polytypic values possess polykinded types. Science of Computer Programming, 43(2-3), 2002.
|
| |
7
|
Ralf Hinze and Johan Jeuring. Generic Haskell: Practice and Theory. In Generic Programming - Advanced Lectures, volume 2793 of LNCS. Springer, 2003.
|
| |
8
|
Stefan Holdermans, Johan Jeuring, Andres Löh, and Alexey Rodriguez. Generic views on data types. In Mathematics of Program Construction, 2006.
|
| |
9
|
Patrik Jansson. Functional Polytypic Programming. PhD thesis, Chalmers University of Technology, 2000.
|
| |
10
|
|
| |
11
|
|
| |
12
|
Wolfram Kahl and Jan Scheffczyk. Named instances for Haskell type classes. In Haskell Workshop, 2001.
|
 |
13
|
|
 |
14
|
|
| |
15
|
Ralf Lämmel, Eelco Visser, and Joost Visser. The essence of strategic programming. Tutorial, 2002.
|
| |
16
|
|
| |
17
|
Andres Löh. Exploring Generic Haskell. PhD thesis, Utrecht University, 2004.
|
| |
18
|
|
| |
19
|
|
 |
20
|
|
 |
21
|
Gustav Munkby , Andreas Priesnitz , Sibylle Schupp , Marcin Zalewski, Scrap++: scrap your boilerplate in C++, Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming, September 16-16, 2006, Portland, Oregon, USA
[doi> 10.1145/1159861.1159871]
|
| |
22
|
David Musser and Atul Saini. STL Tutorial and Reference Guide. Addison-Wesley, 1996.
|
 |
23
|
|
| |
24
|
Pablo Nogueira. When is an abstract data type a functor? In Trends in Functional Programming, volume 7. Intellect, 2006.
|
| |
25
|
|
| |
26
|
Chris Okasaki. An overview of Edison. In Haskell Workshop, 2000.
|
 |
27
|
Pedro Palao Gostanza , Ricardo Peña , Manuel Núñez, A new look at pattern matching in abstract data types, Proceedings of the first ACM SIGPLAN international conference on Functional programming, p.110-121, May 24-26, 1996, Philadelphia, Pennsylvania, United States
|
 |
28
|
|
| |
29
|
F. Warren Burton and Robert Cameron. Pattern matching with abstract data types. Journal of Functional Programming, 3(2), 1993.
|
|