Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

An abstract interpretation for ML equality kinds

  • Conference paper
  • First Online:
Theoretical Aspects of Computer Software (TACS 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 526))

Included in the following conference series:

Abstract

The definition of Standard ML provides a form of generic equality which is inferred for certain types, called equality types, on which it is possible to define a computable equality relation. However, the standard definition is incomplete in the sense that there are interesting and useful types which are not inferred to be equality types but which nevertheless have a computable equality relation. In this paper, a refinement of the Standard ML system of equality types is introduced and is proven sound and complete with respect to the existence of a computable equality. The technique used here is based on an abstract interpretation of ML operators as monotone functions over a three point lattice. It is shown how the equality relation can be defined (as an ML program) from the definition of a type with our equality property. Finally, a sound, efficient algorithm for inferring the equality property which corrects the limitations of the standard definition in all cases of practical interest is demonstrated.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. V. Breazu-Tannen, C. Gunter, and A. Scedrov. Denotational Semantics for Subtyping between Recursive Types. Research Report MS-CIS-89-63/Logic & Computation 12, Department of Computer and Information Science, University of Pennsylvania, 1989.

    Google Scholar 

  2. C. A. Gunter and D. S. Scott. Semantic domains. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 633–674, North Holland, 1990.

    Google Scholar 

  3. R. Milner and M. Tofte. Commentary on Standard ML. MIT Press, 1991.

    Google Scholar 

  4. R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990.

    Google Scholar 

  5. D. S. Scott. Data types as lattices. SIAM Journal of Computing, 5:522–587, 1976.

    Article  Google Scholar 

  6. D. S. Scott. Domains for denotational semantics. In M. Nielsen and E. M. Schmidt, editors, International Colloquium on Automata, Languages and Programs, pages 577–613, Lecture Notes in Computer Science vol. 140, Springer, 1982.

    Google Scholar 

  7. D. S. Scott. Lectures on a mathematical theory of computation. In M. Broy and G. Schmidt, editors, Theoretical Foundations of Programming Methodology, pages 145–292, NATO Advanced Study Institutes Series, D. Reidel, 1982.

    Google Scholar 

  8. M. Smyth and G. D. Plotkin. The category-theoretic solution of recursive domain equations. SIAM Journal of Computing, 11:761–783, 1982.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Albert R. Meyer

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gunter, C.A., Gunter, E.L., MacQueen, D.B. (1991). An abstract interpretation for ML equality kinds. In: Ito, T., Meyer, A.R. (eds) Theoretical Aspects of Computer Software. TACS 1991. Lecture Notes in Computer Science, vol 526. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54415-1_43

Download citation

  • DOI: https://doi.org/10.1007/3-540-54415-1_43

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54415-9

  • Online ISBN: 978-3-540-47617-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics