Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/141471.141536acmconferencesArticle/Chapter ViewAbstractPublication PageslfpConference Proceedingsconference-collections
Article
Free access

Parametric type classes

Published: 01 January 1992 Publication History

Abstract

We propose a generalization to Haskell's type classes where a class can have type parameters besides the placeholder variable. We show that this generalization is essential to represent container classes with overloaded data constructor and selector operations. We also show that the resulting type system has principal types and present unification and type reconstruction algorithms.

References

[1]
P. Canning, W. Cook, W. Hill, W. Olthoff, and J. Mitchell. F-bounded polymorphism for objectoriented programming. In Proc. A CM Conf. Functional Programming Languages and Computer Architecture, pages 273-280, 1989.
[2]
Kung Chen, Martin Odersky, and Paul Hudak. Type inference for parametric type classes. Technical Report YALEU/DCS/RR-900, Dept. of Computer Science, Yale University, New Haven, Conn., May 1992.
[3]
Craig Chambers and David Ungax. Iterative type analysis and extended message splitting: Optimizing dynamically-typed object-oriented programs. In Proc. SIGPLAN '90 Conf. on Programming Language Design and Implementation, White Plains, New York, June 1990.
[4]
L. Damas and R. Milner. Principal type schemes for functional programs. In Proc. 9th A CM Syrup. on Principles of Programm2ng Languages, pages 207- 212, Jan. 1982.
[5]
Paul Hudak, Simon Peyton Jones, and Philip L. Wadler. Report on the programming language Haskell: a non-strict, purely functional language, version 1.1. Technical Report YALEU/DCS/RR-777, Dept. of Computer Science, Yale University, New Haven, Conn., August 1991.
[6]
Mark P. Jones. Type inference for qualified types. Technical Report PRG-TR-10-91, Oxford University Computing Laboratory, Oxford~ UK~ 1991.
[7]
Mark P. Jones. Coherence for qualified types. Private communication, March 1992.
[8]
Mark P. Jones. A theory of qualified types. In B. Krieg-Br{ickner, editor, Proco European Sysposium on Programming, pages 287-306~ Springer Verlag, Feburary 1992. LNCS 582.
[9]
R.D. Jenks and B.M. Trager. A language for computational algebra. In Proc. A CM Symposium on Symbolic and Algebraic Manipulation, pages 22-29, 1981.
[10]
S. Kaes. Parametric overloading in polymorphic programming languages. In H. Ganzinger, editor, Proc. and European Symosium on Programming, Lecture Notes in Computer Science, Vol. 300, pages 131-144, Nancy, France, March 1988. Springer~Verlag.
[11]
Mark D. Lilibridge. A generalization of type classes. distributed to HaskeU mailing llst, June 1991.
[12]
J. Meseguer~ J. Goguen, and G. Smolka. Ordersorted unification. J. Symbolic Computation, 8:383- 413, 1989.
[13]
T. Nipkow and G. Snelting. Type classes and overloading resolution via order-sorted unification. In J. Hughes, editor, Proc. Con}. on Functional Programming and Computer Architecture, pages 15-28. Springer-Verlag, 1991. LNCS 523.
[14]
J. Robinson. A machine-oriented logic based on the resolution principle, d. Assoc. Comput. Mach., 12(1):23-41, 1965.
[15]
Francois Rouaix. Safe run-time overloading. In Seventeenth Annual A GM Syrup. on Principles of Programming Languages, pages 355-366, San Franscico, CA, January 1990.
[16]
Dennis M. Volpano and Geoffery S. Smith. On the complexity of ML typabillty and overloading. In J. Hughes, editor, Proceedings of Functional Programming and Computer Architecture, pages 15-28. Springer-Verlag, 1991. LNCS 523.
[17]
P. Wadler. Comprehending monads. In Proc. A CM Conf. on LISP and Functional Programming, pages 61-78, June 1990.
[18]
P. Wadler. Continuing monads, August 1991. Tutorial Notes at FPCA'91.
[19]
Phil Wadler and Stephen Blott. How to make adhoc polymorphism less ad hoc. In Sixteenth Annual A CM Syrup. on Principles of Programming Languages, pages 60-76. ACM, 1989.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
LFP '92: Proceedings of the 1992 ACM conference on LISP and functional programming
January 1992
365 pages
ISBN:0897914813
DOI:10.1145/141471
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1992

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

LFP92
LFP92: ACM Conference on Lisp and Functional Programming
June 22 - 24, 1992
California, San Francisco, USA

Acceptance Rates

Overall Acceptance Rate 30 of 109 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)115
  • Downloads (Last 6 weeks)26
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Associated Effects: Flexible Abstractions for Effectful ProgrammingProceedings of the ACM on Programming Languages10.1145/36563938:PLDI(394-416)Online publication date: 20-Jun-2024
  • (2023)Metric First-Order Temporal Logic with Complex Data TypesRuntime Verification10.1007/978-3-031-44267-4_7(126-147)Online publication date: 1-Oct-2023
  • (2019)Automatic Refinement to Efficient Data StructuresJournal of Automated Reasoning10.1007/s10817-018-9461-963:1(53-94)Online publication date: 1-Jun-2019
  • (2013)Light-Weight containers for isabelleProceedings of the 4th international conference on Interactive Theorem Proving10.1007/978-3-642-39634-2_11(116-132)Online publication date: 22-Jul-2013
  • (2008)Language and program design for functional dependenciesACM SIGPLAN Notices10.1145/1543134.141129844:2(87-98)Online publication date: 25-Sep-2008
  • (2008)Language and program design for functional dependenciesProceedings of the first ACM SIGPLAN symposium on Haskell10.1145/1411286.1411298(87-98)Online publication date: 25-Sep-2008
  • (2008)Type classes with existential typesJournal of Functional Programming10.1017/S09567968000018176:03(485-518)Online publication date: 7-Nov-2008
  • (2008)A system of constructor classes: overloading and implicit higher-order polymorphismJournal of Functional Programming10.1017/S09567968000012105:01(1-35)Online publication date: 7-Nov-2008
  • (2007)A history of HaskellProceedings of the third ACM SIGPLAN conference on History of programming languages10.1145/1238844.1238856(12-1-12-55)Online publication date: 9-Jun-2007
  • (2007)Understanding functional dependencies via constraint handling rulesJournal of Functional Programming10.1017/S095679680600613717:1(83-129)Online publication date: 1-Jan-2007
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media