• DocumentCode
    2222285
  • Title

    Efficient and flexible matching of recursive types

  • Author

    Palsberg, Jens ; Zhao, Tian

  • Author_Institution
    Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA
  • fYear
    2000
  • fDate
    2000
  • Firstpage
    388
  • Lastpage
    398
  • Abstract
    Equality and subtyping of recursive types have been studied in the 1990s by: R.M. Amadaio and L. Cardelli (1993); D. Kozen et al. (1993); M. Brandt and F. Henglein (1997) and others. Potential applications include automatic generation of bridge code for multi-language systems and type-based retrieval of software modules from libraries. J. Auerbach et al. (1998) advocate a highly flexible combination of matching rules for which there, until now, are no efficient algorithmic techniques. We present an efficient decision procedure for a notion of type equality that includes unfolding of recursive types, and associativity and commutativity of product types, as advocated by Auerbach et al. For two types of size at most n, our algorithm decides equality in O(n2 ) time. The algorithm iteratively prunes a set of type pairs, and eventually it produces a set of pairs of equal types. In each iteration, the algorithm exploits a so-called coherence property of the set of type pairs produced in the preceding iteration. The algorithm takes O(n) iterations, each of which takes O(n) time, for a total of O(n2) time
  • Keywords
    computational complexity; decision theory; recursive functions; search problems; set theory; type theory; algorithmic techniques; associativity; automatic generation; bridge code; coherence property; commutativity; decision procedure; equal types; flexible matching; iterative pruning; matching rules; multi-language systems; preceding iteration; product types; recursive type matching; software modules; subtyping; type equality; type pairs; type-based retrieval; Application software; Bridges; Computer languages; Computer science; Information retrieval; Iterative algorithms; Java; Joining processes; Programming profession; Software libraries;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Logic in Computer Science, 2000. Proceedings. 15th Annual IEEE Symposium on
  • Conference_Location
    Santa Barbara, CA
  • ISSN
    1043-6871
  • Print_ISBN
    0-7695-0725-5
  • Type

    conf

  • DOI
    10.1109/LICS.2000.855786
  • Filename
    855786