- Sponsor:
- sigplan
It is my great pleasure to welcome you to the ACM SIGPLAN Workshop on Generic Programming 2006 -- WGP 2006, held in Portland, Oregon, US, on 16th September 2006. The workshop is sponsored by ACM SIGPLAN and is affiliated with the 11th ACM SIGPLAN International Conference on Functional Programming (ICFP 2006). Previous Workshops on Generic Programming have been held in Marstrand (affiliated with MPC), Ponte de Lima (affiliated with MPC), Nottingham (informal workshop), Dagstuhl (IFIP WG2.1 Working Conference), Oxford (informal workshop), and Utrecht (informal workshop).The call for papers generated 20 submissions from Asia, Canada, Europe, Africa, and the United States. Each paper was evaluated by at least three members of the programme committee with the help of several additional reviewers. During a five-day virtual meeting, the programme committee selected 10 papers for presentation at the workshop. The papers cover a variety of topics, including design patterns, type systems and implementations of generic programming. I hope that the proceedings will serve as a valuable reference for both researchers and students.
Proceeding Downloads
Design patterns as higher-order datatype-generic programs
Design patterns are reusable abstractions in object-oriented software. However, using current mainstream programming languages, these elements can only be expressed extra-linguistically: as prose, pictures, and prototypes. We believe that this is not ...
Type-theoretic design patterns
The development of design patterns in object-oriented programming aims at capturing good software design in a reusable generic form. However, design patterns are not expressible in conventional object-oriented programming languages. To address this ...
Generating generic functions
We present an approach to the generation of generic functions from user-provided specifications. The specifications consist of the type of a generic function, examples of instances that it should "match" when specialized, and properties that the generic ...
Good advice for type-directed programming aspect-oriented programming and extensible generic functions
Type-directed programming is an important idiom for software design. In type-directed programming the behavior of programs is guided by the type structure of data. It makes it possible to implement many sorts of operations, such as serialization,...
Context-parametric polykinded types
Generic Haskell is a language extension of Haskell for polytypic programming. Constrained types are parametric algebraic types with at least one argument constrained by type-class membership. We explain Generic Haskell, discuss the relevance of ...
Modular generic programming with extensible superclasses
"Generics for the Masses" (GM) and "Scrap your Boilerplate" (SYB) are generic programming approaches based on some inenious applications of Haskell type classes. To achieve modularity, the GM and SYB approach have been extended by using some ...
Scrap++: scrap your boilerplate in C++
"Scrap Your Boilerplate" (SYB) is a well studied and widely used design pattern for generic traversal in the Haskell language, but almost unknown to generic programmers in C++. This paper shows that SYB can be implemented in C++. It identifies the ...
A technique for generic iteration and its optimization
Software libraries rely increasingly on iterators to provide generic traversal of data structures. These iterators can be represented either as objects that maintain state or as programs that suspend and resume control. This paper addresses two problems ...
Towards an automatic complexity analysis for generic programs
Generic libraries, such as the C++ Standard Template Library (STL), provide flexible, high-performance algorithms and datatypes, along with functional specifications and performance guarantees. It is left as a nontrivial task to the library user to ...
An object-oriented approach to datatype-generic programming
Datatype-generic programming (DGP) is the next step beyond abstracting over types using parametric polymorphism, which is often called "genericity" in object-oriented languages. However, unlike genericity, DGP has not received much attention in the OO ...
- Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming