Understanding Haskell-style Overloading via Open Data and Open Functions
Fuente:
arXiv
Guardado en:
| Autores principales: | , , |
|---|---|
| Formato: | Preprint |
| Publicado: |
2025
|
| Materias: | |
| Acceso en línea: | |
| Etiquetas: |
Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
|
| _version_ | 1866909698490368000 |
|---|---|
| author | Marmaduke, Andrew Ingle, Apoorv Morris, J. Garrett |
| author_facet | Marmaduke, Andrew Ingle, Apoorv Morris, J. Garrett |
| contents | We present a new, uniform semantics for Haskell-style overloading. We realize our approach in a new core language, System F$_\mathrm{D}$, whose metatheory we mechanize in the Lean4 interactive theorem prover. System F$_\mathrm{D}$ is distinguished by its open data types and open functions, each given by a collection of instances rather than by a single definition. We show that System F$_\mathrm{D}$ can encode advanced features of Haskell's of type class systems, more expressively than current semantics of these features, and without assuming additional type equality axioms. |
| format | Preprint |
| id |
arxiv_https___arxiv_org_abs_2507_16086 |
| institution | arXiv |
| publishDate | 2025 |
| record_format | arxiv |
| spellingShingle | Understanding Haskell-style Overloading via Open Data and Open Functions Marmaduke, Andrew Ingle, Apoorv Morris, J. Garrett Programming Languages We present a new, uniform semantics for Haskell-style overloading. We realize our approach in a new core language, System F$_\mathrm{D}$, whose metatheory we mechanize in the Lean4 interactive theorem prover. System F$_\mathrm{D}$ is distinguished by its open data types and open functions, each given by a collection of instances rather than by a single definition. We show that System F$_\mathrm{D}$ can encode advanced features of Haskell's of type class systems, more expressively than current semantics of these features, and without assuming additional type equality axioms. |
| title | Understanding Haskell-style Overloading via Open Data and Open Functions |
| topic | Programming Languages |
| url | https://arxiv.org/abs/2507.16086 |