Title: The Implicit Calculus A New Foundation for Generic Programming
Authors: Oliveira, Bruno C. d. S ×
Schrijvers, Tom
Choi, Wontae
Lee, Wonchan
Yi, Kwangkeun #
Issue Date: 2012
Publisher: ACM Press
Series Title: ACM SIGPLAN Notices vol:47 issue:6 pages:35-44
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.
ISSN: 0362-1340
Publication status: published
KU Leuven publication type: IT
Appears in Collections:Non-KU Leuven Association publications
× corresponding author
# (joint) last author

Files in This Item:
File Description Status SizeFormat
pldi2012.pdf Published 139KbAdobe PDFView/Open


All items in Lirias are protected by copyright, with all rights reserved.

© Web of science