File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: The implicit calculus: A new foundation for generic programming

TitleThe implicit calculus: A new foundation for generic programming
Authors
KeywordsC++ Concepts
Generic Programming
Haskell
Implicit Parameters
Scala
Type Classes
Issue Date2012
Citation
Acm Sigplan Notices, 2012, v. 47 n. 6, p. 35-44 How to Cite?
AbstractGeneric programming (GP) is an increasingly important trend in programming languages. Well-known GP mechanisms, such as type classes and the C++0x concepts proposal, usually combine two features: 1) a special type of interfaces; and 2) implicit instan- tiation of implementations of those interfaces. Scala implicits are a GP language mechanism, inspired by type classes, that break with the tradition of coupling implicit instantia- tion with a special type of interface. Instead, implicits provide only implicit instantiation, which is generalized to work for any types. This turns out to be quite powerful and useful to address many lim- itations that show up in other GP mechanisms. This paper synthesizes the key ideas of implicits formally in a minimal and general core calculus called the implicit calculus (λ→)), and it shows how to build source languages supporting im- plicit instantiation on top of it. A novelty of the calculus is its sup- port for partial resolution and higher-order rules (a feature that has been proposed before, but was never formalized or implemented). Ultimately, the implicit calculus provides a formal model of implic- its, which can be used by language designers to study and inform implementations of similar mechanisms in their own languages. © 2012 ACM.
Persistent Identifierhttp://hdl.handle.net/10722/188500
ISSN
2015 SCImago Journal Rankings: 0.490
ISI Accession Number ID
References

 

DC FieldValueLanguage
dc.contributor.authorOliveira, BCDSen_US
dc.contributor.authorSchrijvers, Ten_US
dc.contributor.authorChoi, Wen_US
dc.contributor.authorLee, Wen_US
dc.contributor.authorYi, Ken_US
dc.date.accessioned2013-09-03T04:08:45Z-
dc.date.available2013-09-03T04:08:45Z-
dc.date.issued2012en_US
dc.identifier.citationAcm Sigplan Notices, 2012, v. 47 n. 6, p. 35-44en_US
dc.identifier.issn1523-2867en_US
dc.identifier.urihttp://hdl.handle.net/10722/188500-
dc.description.abstractGeneric programming (GP) is an increasingly important trend in programming languages. Well-known GP mechanisms, such as type classes and the C++0x concepts proposal, usually combine two features: 1) a special type of interfaces; and 2) implicit instan- tiation of implementations of those interfaces. Scala implicits are a GP language mechanism, inspired by type classes, that break with the tradition of coupling implicit instantia- tion with a special type of interface. Instead, implicits provide only implicit instantiation, which is generalized to work for any types. This turns out to be quite powerful and useful to address many lim- itations that show up in other GP mechanisms. This paper synthesizes the key ideas of implicits formally in a minimal and general core calculus called the implicit calculus (λ→)), and it shows how to build source languages supporting im- plicit instantiation on top of it. A novelty of the calculus is its sup- port for partial resolution and higher-order rules (a feature that has been proposed before, but was never formalized or implemented). Ultimately, the implicit calculus provides a formal model of implic- its, which can be used by language designers to study and inform implementations of similar mechanisms in their own languages. © 2012 ACM.en_US
dc.languageengen_US
dc.relation.ispartofACM SIGPLAN Noticesen_US
dc.subjectC++ Conceptsen_US
dc.subjectGeneric Programmingen_US
dc.subjectHaskellen_US
dc.subjectImplicit Parametersen_US
dc.subjectScalaen_US
dc.subjectType Classesen_US
dc.titleThe implicit calculus: A new foundation for generic programmingen_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/2345156.2254070en_US
dc.identifier.scopuseid_2-s2.0-84866362214en_US
dc.relation.referenceshttp://www.scopus.com/mlt/select.url?eid=2-s2.0-84866362214&selection=ref&src=s&origin=recordpageen_US
dc.identifier.volume47en_US
dc.identifier.issue6en_US
dc.identifier.spage35en_US
dc.identifier.epage44en_US
dc.identifier.isiWOS:000307582100004-
dc.publisher.placeUnited Statesen_US
dc.identifier.scopusauthoridOliveira, BCDS=12239474400en_US
dc.identifier.scopusauthoridSchrijvers, T=8870481000en_US
dc.identifier.scopusauthoridChoi, W=16201928300en_US
dc.identifier.scopusauthoridLee, W=36443862400en_US
dc.identifier.scopusauthoridYi, K=7102677014en_US

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats