A theory of overloading

Peter J. Stuckey, Martin Sulzmann

Research output: Contribution to conferencePaper

19 Citations (Scopus)

Abstract

We present a minimal extension of the Hindley/Milner system to allow for overloading of identifiers. Our approach relies on a combination of the HM(X) type system framework with Constraint Handling Rules (CHRs). CHRs are a declarative language for writing incremental constraint solvers. CHRs allow us to precisely describe the relationships among overloaded identifiers. Under some sufficient conditions on the CHRs we achieve decidable type inference and the semantic meaning of programs is unambiguous. Our approach allows us to combine open and closed world overloading. We also show how to deal with overlapping definitions.

Original languageEnglish
Pages167-178
Number of pages12
Publication statusPublished - 1 Dec 2002
Externally publishedYes
EventProceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02) - Pittsburgh, PA, United States of America
Duration: 4 Oct 20026 Oct 2002

Conference

ConferenceProceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02)
CountryUnited States of America
CityPittsburgh, PA
Period4/10/026/10/02

Keywords

  • Constraints
  • Overloading
  • Type classes
  • Type inference

Cite this

Stuckey, P. J., & Sulzmann, M. (2002). A theory of overloading. 167-178. Paper presented at Proceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02), Pittsburgh, PA, United States of America.
Stuckey, Peter J. ; Sulzmann, Martin. / A theory of overloading. Paper presented at Proceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02), Pittsburgh, PA, United States of America.12 p.
@conference{48996fffbc984d6cbe668a8ff6d415d7,
title = "A theory of overloading",
abstract = "We present a minimal extension of the Hindley/Milner system to allow for overloading of identifiers. Our approach relies on a combination of the HM(X) type system framework with Constraint Handling Rules (CHRs). CHRs are a declarative language for writing incremental constraint solvers. CHRs allow us to precisely describe the relationships among overloaded identifiers. Under some sufficient conditions on the CHRs we achieve decidable type inference and the semantic meaning of programs is unambiguous. Our approach allows us to combine open and closed world overloading. We also show how to deal with overlapping definitions.",
keywords = "Constraints, Overloading, Type classes, Type inference",
author = "Stuckey, {Peter J.} and Martin Sulzmann",
year = "2002",
month = "12",
day = "1",
language = "English",
pages = "167--178",
note = "Proceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02) ; Conference date: 04-10-2002 Through 06-10-2002",

}

Stuckey, PJ & Sulzmann, M 2002, 'A theory of overloading' Paper presented at Proceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02), Pittsburgh, PA, United States of America, 4/10/02 - 6/10/02, pp. 167-178.

A theory of overloading. / Stuckey, Peter J.; Sulzmann, Martin.

2002. 167-178 Paper presented at Proceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02), Pittsburgh, PA, United States of America.

Research output: Contribution to conferencePaper

TY - CONF

T1 - A theory of overloading

AU - Stuckey, Peter J.

AU - Sulzmann, Martin

PY - 2002/12/1

Y1 - 2002/12/1

N2 - We present a minimal extension of the Hindley/Milner system to allow for overloading of identifiers. Our approach relies on a combination of the HM(X) type system framework with Constraint Handling Rules (CHRs). CHRs are a declarative language for writing incremental constraint solvers. CHRs allow us to precisely describe the relationships among overloaded identifiers. Under some sufficient conditions on the CHRs we achieve decidable type inference and the semantic meaning of programs is unambiguous. Our approach allows us to combine open and closed world overloading. We also show how to deal with overlapping definitions.

AB - We present a minimal extension of the Hindley/Milner system to allow for overloading of identifiers. Our approach relies on a combination of the HM(X) type system framework with Constraint Handling Rules (CHRs). CHRs are a declarative language for writing incremental constraint solvers. CHRs allow us to precisely describe the relationships among overloaded identifiers. Under some sufficient conditions on the CHRs we achieve decidable type inference and the semantic meaning of programs is unambiguous. Our approach allows us to combine open and closed world overloading. We also show how to deal with overlapping definitions.

KW - Constraints

KW - Overloading

KW - Type classes

KW - Type inference

UR - http://www.scopus.com/inward/record.url?scp=0036949278&partnerID=8YFLogxK

M3 - Paper

AN - SCOPUS:0036949278

SP - 167

EP - 178

ER -

Stuckey PJ, Sulzmann M. A theory of overloading. 2002. Paper presented at Proceedings of the Seventh ACM SIGPLAN; International Conference on Functional Programming (ICFP'02), Pittsburgh, PA, United States of America.