Towards improved GADT reasoning in Scala

Lionel Parreaux, Aleksander Boruch-Gruszecki, Paolo G. Giarrusso

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

5 Citations (Scopus)

Abstract

Generalized algebraic data types (GADT) have been notoriously difficult to implement correctly in Scala. Both major Scala compilers, Scalac and Dotty, are currently known to have type soundness holes related to them. In particular, covariant GADTs have exposed paradoxes due to Scala's inheritance model. We informally explore foundations for GADTs within Scala's core type system, to guide a principled understanding and implementation of GADTs in Scala.

Original languageEnglish
Title of host publicationScala 2019 - Proceedings of the 10th ACM SIGPLAN International Symposium on Scala, Part of ECOOP 2019
PublisherAssociation for Computing Machinery (ACM)
Pages12-16
Number of pages5
ISBN (Electronic)9781450368247
DOIs
Publication statusPublished - 17 Jul 2019
Event10th ACM SIGPLAN International Symposium on Scala, Scala 2019, co-located with the European Conference on Object-Oriented Programming, ECOOP 2019 - London, United Kingdom
Duration: 17 Jul 2019 → …

Publication series

NameScala 2019 - Proceedings of the 10th ACM SIGPLAN International Symposium on Scala, Part of ECOOP 2019

Conference

Conference10th ACM SIGPLAN International Symposium on Scala, Scala 2019, co-located with the European Conference on Object-Oriented Programming, ECOOP 2019
Country/TerritoryUnited Kingdom
CityLondon
Period17/07/19 → …

Keywords

  • DOT
  • Generalized algebraic data types
  • Scala

Fingerprint

Dive into the research topics of 'Towards improved GADT reasoning in Scala'. Together they form a unique fingerprint.

Cite this