Hostname: page-component-76fb5796d-r6qrq Total loading time: 0 Render date: 2024-04-26T01:40:19.458Z Has data issue: false hasContentIssue false

Computing with lattices: An application of type classes

Published online by Cambridge University Press:  07 November 2008

Mark P. Jones
Affiliation:
Programming Research Group, Oxford University, UK
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

This paper presents a simple framework for performing calculations with the elements of (finite) lattices. A particular feature of this work is the use of type classes to enable the use of overloaded function symbols within a strongly typed language. Previous applications of type classes have been in areas that are of most interest to language implementors. This paper suggests that type classes might also be useful as a general tool in the development of clear and modular programs.

Type
Articles
Copyright
Copyright © Cambridge University Press 1992

References

Clack, C. and Peyton Jones, S. 1985. Strictness analysis - a practical approach. Proc. Functional Programming Languages and Computer Architecture, Volume 201 of Lecture Notes in Computer Science, Springer-Verlag.Google Scholar
Damas, L. and Milner, R. 1982. Principal type schemes for functional programs. Proc. 8th ACM Symposium on Principles of Programming Languages, ACM Press.Google Scholar
Hudak, P., Peyton Jones, S. and Wadler, P. (editors). 1991. Report on the programming language Haskell, a non-strict purely functional language (Version 1.1). Technical Report YALEU/DCS/RR777, Yale University.CrossRefGoogle Scholar
Hudak, P. and Wadler, P. (editors). 1988. Report of the functional programming language Haskell: draft proposed standard. Technical report YALEU/DCS/RR-666, Yale University.Google Scholar
Hunt, S. 1989. Frontiers and open sets in abstract interpretation. Proc. Functional Programming Languages and Computer Architecture, ACM Press.Google Scholar
Jones, M. 1989. Frontiers and strictness analysis. University of Oxford, unpublished report.Google Scholar
Jones, M. 1991. Overloading in Gofer. Chapter 14 in An Introduction to Gofer, user documentation distributed with Gofer version 2.21.Google Scholar
Martin, C. and Hankin, C. 1987. Finding fixed points in finite lattices. Proc. Functional Programming Languages and Computer Architecture, Volume 274 of Lecture Notes in Computer Science, Springer-Verlag.Google Scholar
Peyton Jones, S. and Clack, C. 1987. Finding fixpoints in abstract interpretation. In S., Abramsky and C., Hankin (editors), Abstract Interpretation of Declarative languages, Ellis Horwood.Google Scholar
Stoy, J. 1977. Denotational Semantics: The Scott-Strachey approach to programming language theory. MIT Press.Google Scholar
Vuillemin, J. 1988. Exact real computer arithmetic with continued fractions. Proc. ACM Symposium on Lisp and Functional Programming, ACM Press.Google Scholar
Wadler, P. and Blott, S. 1989. How to make ad-hoc polymorphism less ad-hoc. Proc. 16th ACM Symposium on Principles of Programming Languages, ACM Press.Google Scholar
Wadler, P. and Miller, Q. 1988. Introduction to Orwell 5.00. Programming Reseach Group, University of Oxford.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.