Semi-naive evaluation is an effective technique employed in bottom-up evaluation of logic programs to avoid redundant joins of answers. The impact of this technique on top-down e...
We introduce just enough tabling (JET), a mechanism to suspend and resume the tabled execution of logic programs at an arbitrary point. In particular, JET allows pruning of tabled...
Refactoring in object-orientation has gained increased attention due to its ability to improve design quality. Refactoring using design patterns (DPs) leads to production of high ...
We present a generalisation of first-order rewriting which allows us to deal with terms involving binding operations in an elegant and practical way. We use a nominal approach to...
Object Petri nets (OPNs) provide a natural and modular method for modelling many real-world systems. We give a structure-preserving translation of OPNs to Prolog by encoding the O...
The new generic scheme CFLP(D) has been recently proposed in [24] as a logical and semantic framework for lazy constraint functional logic programming over a parametrically given ...
We investigate some fundamental properties of the reduction relation in the untyped term calculus derived from Curien and Herbelin’s λµµ. The original λµµ has a system of ...
Daniel J. Dougherty, Silvia Ghilezan, Pierre Lesca...
We introduce the theoretical basis for tracing lazy functional logic computations in a declarative multi-paradigm language like Curry. Tracing computations is a difficult task due...
Bernd Brassel, Michael Hanus, Frank Huch, Germ&aac...