Proceedings of the Tenth ACM SIGPLAN Symposium on Scala 2019
DOI: 10.1145/3337932.3338813
|View full text |Cite
|
Sign up to set email alerts
|

Towards improved GADT reasoning in Scala

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.CCS Concepts • Software and its engineering → Data types and… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 6 publications
(1 citation statement)
references
References 18 publications
0
1
0
Order By: Relevance
“…Intervals with unconstrained bounds are useful, e.g. to encode generalized algebraic datatypes (GADTs) via first-class inequality constraints [Cretin and Rémy 2014;Parreaux et al 2019]. Consistency of such constraints cannot be established when a GADT is defined, only when it is instantiated.…”
Section: First-class Inequationsmentioning
confidence: 99%
“…Intervals with unconstrained bounds are useful, e.g. to encode generalized algebraic datatypes (GADTs) via first-class inequality constraints [Cretin and Rémy 2014;Parreaux et al 2019]. Consistency of such constraints cannot be established when a GADT is defined, only when it is instantiated.…”
Section: First-class Inequationsmentioning
confidence: 99%