skip to main content
Language:
Search Limited to: Search Limited to: Resource type Show Results with: Show Results with: Search type Index

Covariance and Controvariance: a fresh look at an old issue (a primer in advanced type systems for learning functional programmers)

Logical methods in computer science, 2022-02, Vol.16, Issue 1 [Peer Reviewed Journal]

EISSN: 1860-5974 ;DOI: 10.23638/LMCS-16(1:15)2020

Full text available

Citations Cited by
  • Title:
    Covariance and Controvariance: a fresh look at an old issue (a primer in advanced type systems for learning functional programmers)
  • Author: Giuseppe Castagna
  • Subjects: computer science - programming languages
  • Is Part Of: Logical methods in computer science, 2022-02, Vol.16, Issue 1
  • Description: Twenty years ago, in an article titled "Covariance and contravariance: conflict without a cause", I argued that covariant and contravariant specialization of method parameters in object-oriented programming had different purposes and deduced that, not only they could, but actually they should both coexist in the same language. In this work I reexamine the result of that article in the light of recent advances in (sub-)typing theory and programming languages, taking a fresh look at this old issue. Actually, the revamping of this problem is just an excuse for writing an essay that aims at explaining sophisticated type-theoretic concepts, in simple terms and by examples, to undergraduate computer science students and/or willing functional programmers. Finally, I took advantage of this opportunity to describe some undocumented advanced techniques of type-systems implementation that are known only to few insiders that dug in the code of some compilers: therefore, even expert language designers and implementers may find this work worth of reading. This is a corrected version of the paper arXiv:1809.01427v7 published originally on Feb. 13, 2020.
  • Publisher: Logical Methods in Computer Science e.V
  • Language: English
  • Identifier: EISSN: 1860-5974
    DOI: 10.23638/LMCS-16(1:15)2020
  • Source: Directory of Open Access Journals
    Alma/SFX Local Collection
    ROAD: Directory of Open Access Scholarly Resources

Searching Remote Databases, Please Wait