• Home
  • Search
  • Elaboration on functional dependencies: functional dependencies are dead, long live functional dependencies!
  • Open Access IconOpen Access
  • Cite Icon4
  • https://doi.org/10.1145/3122955.3122966Copy DOI Icon

Elaboration on functional dependencies: functional dependencies are dead, long live functional dependencies!

  • Sep 7, 2017
  • Georgios Karachalias +1 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

© 2017 ACM. Functional dependencies are a popular extension to Haskell's typeclass system because they provide fine-grained control over type inference, resolve ambiguities and even enable type-level computations. Unfortunately, several aspects of Haskell's functional dependencies are ill-understood. In particular, the GHC compiler does not properly enforce the functional dependency property, and rejects well-typed programs because it does not know how to elaborate them into its core language, System F C . This paper presents a novel formalization of functional dependencies that addresses these issues:We explicitly capture the functional dependency property in the type system, in the form of explicit type equalities. We also provide a type inference algorithm and an accompanying elaboration strategy which allows all well-typed programs to be elaborated into System F C .

Similar Papers
  • Research Article

From ML type inference to stratified type inference

  • Sep 12, 2005
  • ACM SIGPLAN Notices
  • François Pottier
  • Conference Article
  • Citations30

Polymorphic type inference for machine code

  • Jun 02, 2016
  • Matt Noonan +2
  • Research Article
  • Citations10

Polymorphic type inference for machine code

  • Jun 02, 2016
  • ACM SIGPLAN Notices
  • Matt Noonan +2
  • Book Chapter

Type Inference in Java: Characteristics and Limitations

  • Jan 01, 2021
  • Neha Kumari +1
  • Conference Article
  • Citations412

Refinement types for ML

  • Jan 01, 1991
  • Tim Freeman +1
  • Research Article
  • Citations3

Relating typability and expressiveness in finite-rank intersection type systems (extended abstract)

  • Sep 01, 1999
  • ACM SIGPLAN Notices
  • Assaf J Kfoury +3
  • Conference Article
  • Citations6

Designing globally consistent network schemas

  • Jan 01, 1983
  • Sharon M Kuck +1
  • Conference Article
  • Citations42

Type inference for COBOL systems

  • Oct 12, 1998
  • A Van Deursen +1
  • Research Article

Type inference, principal typings, and let-polymorphism for first-class mixin modules

  • Sep 12, 2005
  • ACM SIGPLAN Notices
  • Henning Makholm +1
  • Conference Article
  • Citations21

Type inference for datalog and its application to query optimisation

  • Jun 09, 2008
  • Oege De Moor +3
  • PDF
  • Book Chapter
  • Citations10

A Type System for Effect Handlers and Dynamic Labels

  • Jan 01, 2023
  • Paulo Emílio De Vilhena +1
  • Conference Article
  • Citations217

Relational lenses

  • Jun 26, 2006
  • Aaron Bohannon +2
  • Conference Article
  • Citations14

Polymorphic type inference for scripting languages with object extensions

  • Oct 24, 2011
  • Tian Zhao
  • PDF
  • Book Chapter
  • Citations5

Kmclib: Automated Inference and Verification of Session Types from OCaml Programs

  • Jan 01, 2022
  • Keigo Imai +2
  • Conference Article
  • Citations1

Type-based Enforcement of Infinitary Trace Properties for Java

  • Sep 06, 2021
  • Serdar Erbatur +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.