Tools on Rewriting
-
PρLog (pronounced Pē-rō-log) is an experimental tool that extends logic programming with strategic conditional transformation rules, combining Prolog with ρLog calculus. It deals with term sequences (also called hedges), transforming them by conditional rules. Transformations are nondeterministic and may yield several results. Strategies provide a control on rule applications in a declarative way. The rules apply matching to the whole input hedge (or, if it is a single term, apply at the top position). Four different types of variables (for terms, term sequences, function symbols, and contexts) give the user flexible control on selecting terms in hedges or subterms in terms. As a result, the obtained code is usually quite short and declaratively clear.