Skip to main content

Polymorphic Types

  • Chapter
Programming Language Concepts

Part of the book series: Undergraduate Topics in Computer Science ((UTICS,volume 50))

  • 3688 Accesses

Abstract

This chapter discusses polymorphic types and type inference in F# and other ML-family languages, as well parametric polymorphism in Java and C#, often called generic types and methods.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bracha, G., Odersky, M., Stoutamire, D., Wadler, P.: Making the future safe for the past: adding genericity to the Java programming language. In: ACM Symposium on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA), Vancouver, BC, pp. 183–200. ACM, New York (1998)

    Google Scholar 

  2. Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press, Cambridge (2001)

    MATH  Google Scholar 

  3. Damas, L., Milner, R.: Principal type schemes for functional programs. In: 9th ACM Symposium on Principles of Programming Languages (1982)

    Google Scholar 

  4. Emir, B., Kennedy, A., Russo, C., Yu, D.: Variance and generalized constraints for C# generics. In: ECOOP (2006)

    Google Scholar 

  5. Goodrich, M.T., Tamassia, R.: Algorithm Design. Wiley, New York (2002)

    MATH  Google Scholar 

  6. Henglein, F., Mairson, H.: The complexity of type inference for higher-order lambda calculi. In: 18th ACM Symposium on Principles of Programming Languages, Orlando, FL, January 1991, pp. 119–130. ACM, New York (1991)

    Google Scholar 

  7. Kennedy, A., Pierce, B.: On decidability of nominal subtyping with variance. In: International Workshop on Foundations and Developments of Object-Oriented Languages (FOOL/WOOD’07), Nice, France (2007)

    Google Scholar 

  8. Kennedy, A., Syme, D.: The design and implementation of generics for the .Net Common Language Runtime. In: Programming Language Design and Implementation, Snowbird, UT, June 2001, pp. 1–23. ACM, New York (2001)

    Google Scholar 

  9. Kennedy, A., Syme, D.: Generics for C# and .Net CLR. Web site (2001). At http://research.microsoft.com/en-us/um/people/akenn/generics/

  10. Kfoury, A.J., Tiuryn, J., Urzyczyn, P.: ML typability is DEXPTIME-complete. In: Proceedings of the Fifteenth Colloquium on CAAP’90, Copenhagen, Denmark, pp. 206–220 (1990)

    Google Scholar 

  11. Peyton-Jones, S.L.: The Implementation of Functional Programming Languages. Prentice-Hall International, New York (1987), Chaps. 8 and 9

    MATH  Google Scholar 

  12. Robinson, J.A.: A machine-oriented logic based on the resolution principle. Commun. ACM 5, 23–41 (1965)

    Google Scholar 

  13. Rémy, D.: Extension of ML type system with a sorted equational theory on types. INRIA Rapport de Recherche 1766, INRIA, France (1992)

    Google Scholar 

  14. Schwartzbach, M.: Polymorphic type inference. Tech. rep., DAIMI, Aarhus University (1995). At http://www.daimi.au.dk/~mis/

  15. Tarjan, R.: Data structures and network algorithms. In: CBMS, vol. 44. Society for Applied and Industrial Mathematics, Philadelphia (1983)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag London

About this chapter

Cite this chapter

Sestoft, P. (2012). Polymorphic Types. In: Programming Language Concepts. Undergraduate Topics in Computer Science, vol 50. Springer, London. https://doi.org/10.1007/978-1-4471-4156-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-4156-3_6

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-4155-6

  • Online ISBN: 978-1-4471-4156-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics