Ghent University Academic Bibliography

Advanced

The implicit calculus: a new foundation for generic programming

Bruno CdS Oliveira, Tom Schrijvers UGent, Wontae Choi, Wonchan Lee and Kwangkeun Li (2012) PLDI 2012 : proceedings of the 33rd ACM SIGPLAN conference on programming language design and implementation.
abstract
Generic 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 instantiation of implementations of those interfaces. Scala implicits are a GP language mechanism, inspired by type classes, that break with the tradition of coupling implicit instantiation 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 limitations 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 implicit instantiation on top of it. A novelty of the calculus is its support 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 implicits, which can be used by language designers to study and inform implementations of similar mechanisms in their own languages.
Please use this url to cite or link to this publication:
author
organization
year
type
conference
publication status
published
subject
keyword
calculus, implicits, C++, programming languages, type classes, type system, generic programming
in
PLDI 2012 : proceedings of the 33rd ACM SIGPLAN conference on programming language design and implementation
pages
10 pages
publisher
Association for Computing Machinery (ACM)
place of publication
New York, NY, USA
conference name
33rd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2012)
conference location
Beijing, PR China
conference start
2012-06-11
conference end
2012-06-16
ISBN
9781450312059
language
English
UGent publication?
yes
classification
C1
copyright statement
I have transferred the copyright for this publication to the publisher
id
2073319
handle
http://hdl.handle.net/1854/LU-2073319
date created
2012-03-26 09:57:05
date last changed
2012-09-03 13:21:11
@inproceedings{2073319,
  abstract     = {Generic 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 instantiation of implementations of those interfaces.
Scala implicits are a GP language mechanism, inspired by type classes, that break with the tradition of coupling implicit instantiation 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 limitations 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 implicit instantiation on top of it. A novelty of the calculus is its support 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 implicits, which can be used by language designers to study and inform implementations of similar mechanisms in their own languages.},
  author       = {Oliveira, Bruno CdS and Schrijvers, Tom and Choi, Wontae and Lee, Wonchan and Li, Kwangkeun},
  booktitle    = {PLDI 2012 : proceedings of the 33rd ACM SIGPLAN conference on programming language design and implementation},
  isbn         = {9781450312059},
  keyword      = {calculus,implicits,C++,programming languages,type classes,type system,generic programming},
  language     = {eng},
  location     = {Beijing, PR China},
  pages        = {10},
  publisher    = {Association for Computing Machinery (ACM)},
  title        = {The implicit calculus: a new foundation for generic programming},
  year         = {2012},
}

Chicago
Oliveira, Bruno CdS, Tom Schrijvers, Wontae Choi, Wonchan Lee, and Kwangkeun Li. 2012. “The Implicit Calculus: a New Foundation for Generic Programming.” In PLDI 2012 : Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation. New York, NY, USA: Association for Computing Machinery (ACM).
APA
Oliveira, B. C., Schrijvers, T., Choi, W., Lee, W., & Li, K. (2012). The implicit calculus: a new foundation for generic programming. PLDI 2012 : proceedings of the 33rd ACM SIGPLAN conference on programming language design and implementation. Presented at the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2012), New York, NY, USA: Association for Computing Machinery (ACM).
Vancouver
1.
Oliveira BC, Schrijvers T, Choi W, Lee W, Li K. The implicit calculus: a new foundation for generic programming. PLDI 2012 : proceedings of the 33rd ACM SIGPLAN conference on programming language design and implementation. New York, NY, USA: Association for Computing Machinery (ACM); 2012.
MLA
Oliveira, Bruno CdS, Tom Schrijvers, Wontae Choi, et al. “The Implicit Calculus: a New Foundation for Generic Programming.” PLDI 2012 : Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation. New York, NY, USA: Association for Computing Machinery (ACM), 2012. Print.