Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications 2010
DOI: 10.1145/1869459.1869489
|View full text |Cite
|
Sign up to set email alerts
|

Type classes as objects and implicits

Abstract: Type 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 i… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
37
0

Year Published

2012
2012
2019
2019

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 72 publications
(37 citation statements)
references
References 44 publications
(39 reference statements)
0
37
0
Order By: Relevance
“…Implicits in Scala [16] provide similar capabilities to type classes via direct support for type-directed implicit parameter passing. Parameters can be marked implicit which then allows them to be omitted from function calls.…”
Section: Implicitsmentioning
confidence: 99%
See 1 more Smart Citation
“…Implicits in Scala [16] provide similar capabilities to type classes via direct support for type-directed implicit parameter passing. Parameters can be marked implicit which then allows them to be omitted from function calls.…”
Section: Implicitsmentioning
confidence: 99%
“…Scala implicits [16] are a major inspiration for this work. They provide implicit parameters on functions, which are selected from the scope of the call site based on their type.…”
Section: Implicitsmentioning
confidence: 99%
“…Scala's implicits [4] provide a convenient way of deriving runtime information from static types. When the last argument list of a method is marked as implicit, a call to this method need not specify its actual arguments.…”
Section: Putting Static Information To Workmentioning
confidence: 99%
“…Domain-specific type restrictions can be implemented using implicit resolution, which provides a limited form of logic programming at the type level [4]. Phantom types and other classic tricks are also commonly used.…”
Section: Introductionmentioning
confidence: 99%
“…These parameters need not be provided explicitly if an implementation of the type in question can be found in implicit scope. One use case for implicit parameters is the definition of type classes [18] similar to those found in Haskell . Type classes are a way to implement ad-hoc polymorphism (method overloading) in purely functional programming languages.…”
Section: Introductionmentioning
confidence: 99%