Loading...
Please wait, while we are loading the content...
Similar Documents
Arity-generic datatype-generic programming (2010)
| Content Provider | CiteSeerX |
|---|---|
| Author | Weirich, Stephanie Casinghino, Chris |
| Description | Some programs are doubly-generic. For example, map is datatype-generic in that many different data structures support a mapping operation. A generic programming language like Generic Haskell can use a single definition to generate map for each type. However, map is also arity-generic because it belongs to a family of related operations that differ in the number of arguments. For lists, this family includes repeat, map, zipWith, zipWith3, zipWith4, etc. With dependent types or clever programming, one can unify all of these functions together in a single definition. However, no one has explored the combination of these two forms of genericity. These two axes are not orthogonal because the idea of arity appears in Generic Haskell: datatype-generic versions of repeat, map and zipWith have different arities of kind-indexed types. In this paper, we define arity-generic datatype-generic pro-grams by building a framework for Generic Haskell-style generic programming in the dependently-typed programming language |
| File Format | |
| Language | English |
| Publisher Date | 2010-01-01 |
| Publisher Institution | In Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification, PLPV ’10 |
| Access Restriction | Open |
| Subject Keyword | Mapping Operation Generic Programming Language Dependent Type Clever Programming Related Operation Arity-generic Datatype-generic Pro-grams Many Different Data Structure Dependently-typed Programming Language Kind-indexed Type Datatype-generic Version Generic Haskell-style Generic Programming Single Definition Generic Haskell Arity-generic Datatype-generic Programming Different Arity |
| Content Type | Text |
| Resource Type | Article |