King, Andy and Longley, Mark
Abstract Matching Can Improve on Abstract Unification.
University of Kent, School of Computing, University of Kent, Canterbury, UK
(Full text available)
Analyses for sharing and freeness are important in the optimisation and parallelisation of logic programs. By using suitable abstract analogs for concrete operations like renaming, restriction, unification and extension sharing and freeness analysis can be constructed from a standard fixed-point framework. Extension is required in the clause exit mechanisms and is typically formulated in terms of restriction and matching. Matching also arises as goal-head unification in normalised programs in which the (formal) arguments of each clause head are distinct variables. Abstract matching, however, is rarely given special attention and is usually implemented by abstract unification. This paper remedies this, contributing a series of useful, practical and formally-justified abstract matching algorithms for the popular domains Share, Share x Free and Share x Free x Lin The matching algorithms are both useful and important because they can outperform their corresponding unification algorithms in both speed and precision.
- Depositors only (login required):