File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: TypeCase: A design pattern for type-indexed functions

TitleTypeCase: A design pattern for type-indexed functions
Authors
KeywordsGeneric Programming
Type Classes
Type-Indexed Functions
Issue Date2005
Citation
Haskell'05 - Proceedings Of The Acm Sigplan 2005 Haskell Workshop, 2005, p. 98-109 How to Cite?
AbstractA type-indexed function is a function that is defined for each member of some family of types. Haskell's type class mechanism provides collections of open type-indexed functions, in which the indexing family can be extended by defining a new type class instance but the collection of functions is fixed. The purpose of this paper is to present TypeCase: a design pattern that allows the definition of closed type-indexed functions, in which the index family is fixed but the collection of functions is extensible. It is inspired by Cheney and Hinze's work on lightweight approaches to generic programming. We generalise their techniques as a design pattern. Furthermore, we show that type-indexed functions with type-indexed types, and consequently generic functions with generic types, can also be encoded in a lightweight manner, thereby overcoming one of the main limitations of the lightweight approaches. Copyright © 2005 ACM.
Persistent Identifierhttp://hdl.handle.net/10722/188477
References

 

DC FieldValueLanguage
dc.contributor.authorOliveira, BCDSen_US
dc.contributor.authorGibbons, Jen_US
dc.date.accessioned2013-09-03T04:08:36Z-
dc.date.available2013-09-03T04:08:36Z-
dc.date.issued2005en_US
dc.identifier.citationHaskell'05 - Proceedings Of The Acm Sigplan 2005 Haskell Workshop, 2005, p. 98-109en_US
dc.identifier.urihttp://hdl.handle.net/10722/188477-
dc.description.abstractA type-indexed function is a function that is defined for each member of some family of types. Haskell's type class mechanism provides collections of open type-indexed functions, in which the indexing family can be extended by defining a new type class instance but the collection of functions is fixed. The purpose of this paper is to present TypeCase: a design pattern that allows the definition of closed type-indexed functions, in which the index family is fixed but the collection of functions is extensible. It is inspired by Cheney and Hinze's work on lightweight approaches to generic programming. We generalise their techniques as a design pattern. Furthermore, we show that type-indexed functions with type-indexed types, and consequently generic functions with generic types, can also be encoded in a lightweight manner, thereby overcoming one of the main limitations of the lightweight approaches. Copyright © 2005 ACM.en_US
dc.languageengen_US
dc.relation.ispartofHaskell'05 - Proceedings of the ACM SIGPLAN 2005 Haskell Workshopen_US
dc.subjectGeneric Programmingen_US
dc.subjectType Classesen_US
dc.subjectType-Indexed Functionsen_US
dc.titleTypeCase: A design pattern for type-indexed functionsen_US
dc.typeConference_Paperen_US
dc.identifier.emailOliveira, BCDS: oliveira@comp.nus.edu.sgen_US
dc.identifier.authorityOliveira, BCDS=rp01786en_US
dc.description.naturelink_to_subscribed_fulltexten_US
dc.identifier.doi10.1145/1088348.1088358en_US
dc.identifier.scopuseid_2-s2.0-32144449570en_US
dc.relation.referenceshttp://www.scopus.com/mlt/select.url?eid=2-s2.0-32144449570&selection=ref&src=s&origin=recordpageen_US
dc.identifier.spage98en_US
dc.identifier.epage109en_US
dc.identifier.scopusauthoridOliveira, BCDS=12239474400en_US
dc.identifier.scopusauthoridGibbons, J=7201472851en_US

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats