Learn More
Many static analyses for declarative programming/database languages use Boolean functions to express dependencies among variables or argument positions. Examples include groundness analysis, arguably the most important analysis for logic programs, niteness analysis and functional dependency analysis for databases. We identify two classes of Boolean(More)
The present paper is an extended abstract of (Jones 1985), in which a running , non-trivial partial evaluator is described. As far as we know, this partia l evaluator is the first which has been used in practice to transform interpreters into corresponding stand-alone compilers, or to generate a compile r generator by transforming itself. A partial(More)
Logic-programming languages are based on a principle of separation “logic” and “control.”. This means that they can be given simple model-theoretic semantics without regard to any particular execution mechanism (or proof procedure, viewing execution as theorem proving). Although the separation is desirable from a semantical point of(More)
We investigate Jacobs and Langen's Sharing domain, introduced for the analysis of variable sharing in logic programs, and show that it is isomorphic to Marriott and Søndergaard's Pos domain, introduced for the analysis of groundness dependencies. Our key idea is to view the sets of variables in a Sharing domain element as the models of a corresponding(More)