1 research outputs found

    A Comparison of Three Occur-Check Analysers

    No full text
    A well known problem of most Prolog interpreters and compilers is the lack of occur-check in the implementation of the unification algorithm. This means that such systems are unsound with respect to first-order predicate logic. Static analysis offers an appealing approach to the problem of occur-check reduction, that is, how to safely omit occur-checks in unification. We compare, for the first time, three static methods that have been suggested for occur-check reduction, two based on assigning "modes" to programs and one which uses abstract interpretation. In each case, the analysis or some essential part of it had not been implemented so far. Of the mode-based methods, one is due to Chadha and Plaisted and the other is due to Apt and Pellegrini. The method using abstract interpretation is based on earlier work by Plaisted, Søndergaard and others who have developed "groundness" and "sharing" analyses for logic programs. The conclusion is that a truly global analysis based on abstract i..
    corecore