PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A new approach to generic functional programming
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polytypic Values Possess Polykinded Types
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
A lightweight implementation of generics and dynamics
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
Simulating quantified class constraints
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
Dependency-style generic haskell
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
There and back again: arrows for invertible programming
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Context-parametric polykinded types
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
Journal of Functional Programming
Declarative Ajax and client side evaluation of workflows using iTasks
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Bialgebra views: a way for polytypic programming to cohabit with data abstraction
Proceedings of the ACM SIGPLAN workshop on Generic programming
Science of Computer Programming
Efficient and Type-Safe Generic Data Storage
Electronic Notes in Theoretical Computer Science (ENTCS)
When generic functions use dynamic values
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
GAST: generic automated software testing
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Lazy dynamic input/output in the lazy functional language clean
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
A conference management system based on the iData toolkit
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Comparing approaches to generic programming in Haskell
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Libraries for generic programming in haskell
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
A generic deriving mechanism for Haskell
Proceedings of the third ACM Haskell symposium on Haskell
Exchanging sources between clean and Haskell: a double-edged front end for the clean compiler
Proceedings of the third ACM Haskell symposium on Haskell
Embedding a web-based workflow management system in a functional language
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
iTasks 2: iTasks for end-users
IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
An executable and testable semantics for iTasks
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
iData for the world wide web – programming interconnected web forms
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
A functional programming technique for forms in graphical user interfaces
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Dynamic construction of generic functions
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Generic graphical user interfaces
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Polytypic programming in haskell
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
GEC: a toolkit for generic rapid prototyping of type safe interactive applications
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
“Scrap your boilerplate” revolutions
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Polytypic syntax tree operations
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
With-Loop fusion for data locality and parallelism
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Model-Based testing of thin-client web applications
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
Automatic testing of higher order functions
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Hi-index | 0.00 |
Generic programming enables the programmer to define functions by induction on the structure of types. Defined once, such a generic function can be used to generate a specialized function for any user defined data type. Several ways to support generic programming in functional languages have been proposed, each with its own pros and cons. In this paper we describe a combination of two existing approaches, which has the advantages of both of them. In our approach overloaded functions with class variables of an arbitrary kind can be defined generically. A single generic definition defines a kind-indexed family of overloaded functions, one for each kind. For instance, the generic mapping function generates an overloaded mapping function for each kind.Additionally, we propose a separate extension that allows to specify a customized instance of a generic function for a type in terms of the generated instance for that type.