- Sponsor:
- sigplan
It is our great pleasure to welcome you to the 7th ACM SIGPLAN Workshop on Generic Programming (WGP 2011), held in Tokyo, Japan, on 18th September 2011. The workshop is sponsored by ACM SIGPLAN and is affiliated with the 16th ACM SIGPLAN International Conference on Functional Programming (ICFP 2011). Previous Workshops on Generic Programming have been held in Baltimore (affiliated with ICFP), Marstrand (affiliated with MPC), Ponte de Lima (affiliated with MPC), Nottingham (informal workshop), Dagstuhl (IFIP TC2/IFIP WG2.1 Working Conference), Oxford (informal workshop), Utrecht (informal workshop), Portland (affiliated with ICFP), Victoria (affiliated with ICFP), and Edinburgh (affiliated with ICFP).
The call for papers generated 10 submissions. Each paper was evaluated by at least three members of the programme committee with the help of additional reviewers. The quality of the submissions was very high: during a five-day virtual meeting, the programme committee selected 9 papers for presentation at the workshop. The papers cover a variety of generic programming topics, including dependently typed programming, datatype-generic programming, universe construction, generalized algebraic datatypes, category theory, and C++ concepts. We hope that the proceedings will serve as a valuable reference for both researchers and students. We note that one of the papers presented in the workshop is not included in the proceedings. This paper, "Functor is to Lens as Applicative is to Biplate: Introducing Multiplate" by Russell O'Connor, is accessible as arXiv:1103.2841v2 [cs.PL].
Proceeding Downloads
Generic programming with indexed functors
Much has been said and done about generic programming approaches in strongly-typed functional languages such as Haskell and Agda. Different approaches use different techniques and are better or worse suited for certain uses, depending on design ...
Modularising inductive families
Dependently typed programmers are encouraged to use inductive families to integrate constraints with data construction. Different constraints are used in different contexts, leading to different versions of datatypes for the same data structure. Modular ...
Embedding polymorphic dynamic typing
Dynamic typing in a statically typed functional language allows us to defer type unification until run time. This is typically useful when interacting with the 'outside' world where the type of values involved may not be known statically. Haskell has ...
Generic programming for indexed datatypes
An indexed datatype is a type that uses a parameter as a type-level tag; a typical example is the type of vectors, which are indexed over a type-level natural number encoding their length. Since the introduction of generalised algebraic datatypes, ...
Towards a categorical foundation for generic programming
Generic Haskell is an extension of Haskell that supports datatype generic programming. The central idea of Generic Haskell is to interpret a type by a function, the so-called instance of a generic function at that type. Since types in Haskell include ...
A foundation for GADTs and inductive families: dependent polynomial functor approach
Every Algebraic Datatype (ADT) is characterised as the initial algebra of a polynomial functor on sets. This paper extends the characterisation to the case of more advanced datatypes: Generalised Algebraic Datatypes (GADTs) and Inductive Families. ...
ConceptClang: an implementation of C++ concepts in Clang
Concepts are a proposed C++ extension for constraints-based poly-morphism. In this paper, we present our experience implementing an infrastructure for exploring concept designs based on Clang--an LLVM frontend for the C family of languages. We discuss ...
Compositional data types
Building on Wouter Swierstra's Data types à la carte, we present a comprehensive Haskell library of compositional data types suitable for practical applications. In this framework, data types and functions on them can be defined in a modular fashion. We ...