Overloading, Subtypes and Higher Order Functions

  • Coercions
  • Relations on Function Types During Development
  • Generalized Substitution
  • Specialization
  • Making Partial Functions More Defined
  • Introducing Approximations
  • Generalizing the Relations to Higher Order
  • Combining Overloading Resolution with Subtypes and Higher Order
  • Higher-order Subtype Polymorphism
  • Basic Overloading Resolution
  • Overloading Resolution with Subtypes
  • Overloading Resolution with Polymorphic Functions

  • This document is part of the CoFI Study Notes. Any comments and corrections should be addressed to the author.

    It will be made available formatted for printing as compressed Postscript and DVI.

    The WWW version provides only a rough approximation (mostly generated automatically by Hyperlatex) to the symbols used in the formatted versions. Please inform pdmosses@brics.dk about any places where a better approximation could be made!

    N.B. All Study Notes are TENTATIVE first versions, unless explicitly marked otherwise.

     This Language Design Study Note is a collection of Patterns meant to be complementary to the Note Subsorting and Higher-Order Functions, with which it should be integrated eventually. The requirements stated there still hold, but are refined in some cases. Note that some of the work is still in a very preliminary state.

    The reason for another note is the integration of many different language constructs and a concern for "upwards compatibility" of their interaction. The first pattern Coercions is not directly related, but supplementary to the discussion.


    CoFI Study Notes, May 14, 1996