Understanding functional dependencies via constraint handling rules

54Citations
Citations of this article
44Readers
Mendeley users who have this article in their library.

Abstract

Functional dependencies are a popular and useful extension to Haskell style type classes. We give a reformulation of functional dependencies in terms of Constraint Handling Rules (CHRs). In previous work, CHRs have been employed for describing user-programmable type extensions in the context of Haskell style type classes. Here, we make use of CHRs to provide for the first time a concise result that under some sufficient conditions, functional dependencies allow for sound, complete and decidable type inference. The sufficient conditions imposed on functional dependencies can be very limiting. We show how to safely relax these conditions and suggest several sound extensions of functional dependencies. Our results allow for a better understanding of functional dependencies and open up the opportunity for new applications. © 2006 Cambridge University Press.

Cite

CITATION STYLE

APA

Sulzmann, M., Duck, G. J., Peyton-Jones, S., & Stuckey, P. J. (2007). Understanding functional dependencies via constraint handling rules. Journal of Functional Programming, 17(1), 83–129. https://doi.org/10.1017/S0956796806006137

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free