File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: Type classes as objects and implicits

TitleType classes as objects and implicits
Authors
KeywordsAbstract Datatypes
C++ Concepts
Scala
Type Classes
Issue Date2010
Citation
Acm Sigplan Notices, 2010, v. 45 n. 10, p. 341-360 How to Cite?
AbstractType classes were originally developed in Haskell as a disciplined alternative to ad-hoc polymorphism. Type classes have been shown to provide a type-safe solution to important challenges in software engineering and programming languages such as, for example, retroactive extension of programs. They are also recognized as a good mechanism for concept-based generic programming and, more recently, have evolved into a mechanism for type-level computation. This paper presents a lightweight approach to type classes in object-oriented (OO) languages with generics using the Concept pattern and implicits (a type-directed implicit parameter passing mechanism). This paper also shows how Scala's type system conspires with implicits to enable, and even surpass, many common extensions of the Haskell type class system, making Scala ideally suited for generic programming in the large. Copyright © 2010 ACM.
Persistent Identifierhttp://hdl.handle.net/10722/188490
ISSN
2020 SCImago Journal Rankings: 0.310
ISI Accession Number ID
References

 

DC FieldValueLanguage
dc.contributor.authorOliveira, BCDSen_US
dc.contributor.authorMoors, Aen_US
dc.contributor.authorOdersky, Men_US
dc.date.accessioned2013-09-03T04:08:42Z-
dc.date.available2013-09-03T04:08:42Z-
dc.date.issued2010en_US
dc.identifier.citationAcm Sigplan Notices, 2010, v. 45 n. 10, p. 341-360en_US
dc.identifier.issn1523-2867en_US
dc.identifier.urihttp://hdl.handle.net/10722/188490-
dc.description.abstractType classes were originally developed in Haskell as a disciplined alternative to ad-hoc polymorphism. Type classes have been shown to provide a type-safe solution to important challenges in software engineering and programming languages such as, for example, retroactive extension of programs. They are also recognized as a good mechanism for concept-based generic programming and, more recently, have evolved into a mechanism for type-level computation. This paper presents a lightweight approach to type classes in object-oriented (OO) languages with generics using the Concept pattern and implicits (a type-directed implicit parameter passing mechanism). This paper also shows how Scala's type system conspires with implicits to enable, and even surpass, many common extensions of the Haskell type class system, making Scala ideally suited for generic programming in the large. Copyright © 2010 ACM.en_US
dc.languageengen_US
dc.relation.ispartofACM SIGPLAN Noticesen_US
dc.subjectAbstract Datatypesen_US
dc.subjectC++ Conceptsen_US
dc.subjectScalaen_US
dc.subjectType Classesen_US
dc.titleType classes as objects and implicitsen_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/1932682.1869489en_US
dc.identifier.scopuseid_2-s2.0-79551656252en_US
dc.relation.referenceshttp://www.scopus.com/mlt/select.url?eid=2-s2.0-79551656252&selection=ref&src=s&origin=recordpageen_US
dc.identifier.volume45en_US
dc.identifier.issue10en_US
dc.identifier.spage341en_US
dc.identifier.epage360en_US
dc.identifier.isiWOS:000286595800022-
dc.publisher.placeUnited Statesen_US
dc.identifier.scopusauthoridOliveira, BCDS=12239474400en_US
dc.identifier.scopusauthoridMoors, A=26425256200en_US
dc.identifier.scopusauthoridOdersky, M=6701914594en_US
dc.identifier.issnl1523-2867-

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats