I posted the same Q at programmers.SE, but nobody really helps.

In the paper “An Extended Comparative Study of Language Support for Generic Programming” by Garcia et al. an interesting comparison of programming languages features for generic programming is given:

table with comparison of GP-features

with the brief explanation of terminology:

legend for the table

Can anyone assess Scala programming language support for generic programming in a view of this framework? I.e. add a column in the first table with explanations and examples if possible.

  • 1
    $\begingroup$ Please do not post text as an image. Is that paper available online? If so, please link to it, and copy-paste the citation instead of posting a screenshot. $\endgroup$ Nov 25, 2012 at 19:25
  • $\begingroup$ It is quite hard to copy-paste the table, I guess. I added link to the paper. $\endgroup$ Nov 25, 2012 at 19:45
  • $\begingroup$ I'm not sure about the 3rd and 4th ones – not sure what they mean –, but I'm pretty sure that Scala supports the rest. $\endgroup$ Nov 25, 2012 at 21:26
  • $\begingroup$ I have my doubts that this is ontopic here; curious that programmers.SE should fail on this one. Anyways, it would be nice it you'd put the caption of the first image and the second image here as text (maybe as list). The table itself is all but impossible to recreate here, true. $\endgroup$
    – Raphael
    Nov 26, 2012 at 0:47
  • $\begingroup$ This comparison bothers me. Taking C# as an example: it does have aliases and it automatically detects the type of parameters used in generic stuff when possible. Also, "multi-type concepts" it's not even a thing outside this paper and it is not even properly defined. Really, the poor quality of this paper is borderline offensive. It is one more of those things created to promote Haskell, and nothing else. $\endgroup$
    – T. Sar
    May 5, 2016 at 16:50

1 Answer 1


Exact answer is given on p. 17 of “Type classes as Objects and Implicits” by Oliveira et al.

  • $\begingroup$ The reference comes from Twitter after the link to this question trickled there. Thanks to Miles Sabin (@milessabin on Twitter) and Alexey Romanov. $\endgroup$ Nov 26, 2012 at 6:31
  • 2
    $\begingroup$ This post can be improved by making it an actual answer, i.e. quoting the relevant statements. $\endgroup$
    – Raphael
    Feb 23, 2016 at 11:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.