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
Link To Document :
بازگشت