Skip to main content

Polymorphic typing for call-by-name semantics

  • Conference paper
  • First Online:
Formal Methods in Programming and Their Applications

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

  • 145 Accesses

Abstract

We have presented herein an “interpretation” of the ML-type algebra leading to more general types for call-by-name functional languages.

In contrast to the standard approach for designing type systems, the approach based on Abstract Interpretation mimics in a more precise way the evaluation strategy described by the dynamic semantics. For this reason, it enables us to understand what is going on. In the logical framework, the ML type algebra can only modelize call-by-value function application, because of a certain rigidity of this framework. As we have seen, Abstract Interpretation is more flexible and allows us to slightly modify the meaning of ML-types, and hence preserves valuable information about the evaluation strategy.

More generally, while this approach for defining a call-by-name, a call-by-need, and a call-by-value version of the same type system can naturally be used with the ML type algebra, it cam also be used with other type algebras like the Fractional Types[Mon92b]—a subset of Coppo's intersection types. This same approach can be extended to mimics other semantically relevant properties in a better way. And before all, it pleads for a better interaction of the dynamic semantics and its associated type system.

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.

References

  1. A. Aiken, B. Murphy, Static Type Inference in a Dynamically Typed Language, Conf. rec of the 18th ACM Symposium on POPL, Orlando Florida 279–290, Jan 1991.

    Google Scholar 

  2. R. Burstall, D. MacQueen and D. Sanella, Hope: An experimental applicative language, Conf. rec. of the 1980 Lisp Conference, Standford 1980

    Google Scholar 

  3. M. Coppo, M. Dezani-Ciancaglini, An extension of the Basic Functionality Theory for the l-Calculus Notre Dame, Journal of Formal Logic 21 (4), 1980.

    Google Scholar 

  4. P. Cousot, Méthodes itératives de construction et d'approximation de points fixes d'opérateurs monotones sur un treillis, analyse sémantique des programmes. Thèse d'Etat, Grenoble 1978.

    Google Scholar 

  5. P. & R. Cousot, Abstract Interpretation: a unified lattice model for static analysis of program by construction of approximate fixpoints, Conf. rec of the 4th ACM Symposium on POPL, Los Angeles Calif, 239–252, Jan 1977.

    Google Scholar 

  6. P. & R. Cousot, Systematic design of program analysis framework, Conf. rec of the 6th ACM Symposium on POPL, Jan 1979.

    Google Scholar 

  7. C.A. Gunther D.S. Scott Semantic domains in J. van Leeuwen (ed.) Formal Models and Semantics. vol. B of Handbook of Theoretical Computer Science, Elsevier 1990.

    Google Scholar 

  8. R. Harper, D. MacQueen, R. Milner Standard ML Report ECS-LFCS-86-2, Edinburgh University.

    Google Scholar 

  9. Th. Johnsson, Compiling Lazy Functional Language, PhD Thesis Chalmers University of Technology, 1987.

    Google Scholar 

  10. N.D. Jones, A. Mycroft, A relational framework for abstract interpretation in ”Program as Data Objects” Proc. of a workshop in Copenhagen Oct. 1985. Ed. Ganziger and Jones. LNCS 215 Springer Verlag.

    Google Scholar 

  11. G. Kahn, Natural Semantics, ”Programming of Future Generation Computers” edited by K. Fuchi, M. Nivat, Elsevier Science Publishers B.V. (North-Holland) 1988.

    Google Scholar 

  12. T. Karnomori, K. Horiuchi Polymorphic Type Inference in Prolog by Abstract Interpretation, in Logic Programming '87, Tokyo, LNCS 315 Springer Verlag.

    Google Scholar 

  13. L. Maranget GAML: a Parallel Implementation of Lazy ML, Conf. rec of the 5th ACM Conference on FPCA, August 1991, LNCS 523 Springer Verlag.

    Google Scholar 

  14. D. MacQueen, G. Plotkin, R. Sethi An ideal model for recursive polymorphic types, Conf. rec of the 11th Symposium on POPL, Jan 1984.

    Google Scholar 

  15. B. Monsuez Polymorphic Typing by Abstract Interpretation Conf. rec. of the 12th Conference on FST&TCS, December 1992, New Dehli, India, LNCS 652 Springer Verlag.

    Google Scholar 

  16. B. Monsuez Fractional Types Prooceding of the Workshop on Static Analysis, Septembre 1992, Bordeaux, France, BIGRE 82.

    Google Scholar 

  17. A. Mycroft, R. O'Keefe A polymorphic Type System for Prolog, Artificial Intelligence 23, 1984, 195–307.

    Google Scholar 

  18. G. D. Plotkin, A Structural Approach to Operational Semantics, DAIMI FN-19, Computer Science Department, Aarhus, Denmark, September 1981.

    Google Scholar 

  19. D. Turner, Miranda, a non-strict functional language with polymorphic types in Functional Programming Languages and Computer Architecture, Nancy, LNCS 201 Springer Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Dines Bjørner Manfred Broy Igor V. Pottosin

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Monsuez, B. (1993). Polymorphic typing for call-by-name semantics. In: Bjørner, D., Broy, M., Pottosin, I.V. (eds) Formal Methods in Programming and Their Applications. Lecture Notes in Computer Science, vol 735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039706

Download citation

  • DOI: https://doi.org/10.1007/BFb0039706

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57316-6

  • Online ISBN: 978-3-540-48056-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics