OnDemandOBJ
Marı́a Alpuente, Santiago Escobar, Salvador Lucas · Electronic Notes in Theoretical Computer Science · 2003
Strategy annotations are used in rule-based programming languages such as OBJ2, OBJ3, CafeOBJ, and Maude to improve efficiency and/or reduce the risk of nontermination. Syntactically, they are given either as lists of natural numbers or as lists of integers associated to function symbols whose (absolute) values refer to the arguments of the corresponding symbol. A positive index forces the evaluation of an argument whereas a negative index means "evaluate on-demand". In this paper, we present OnDemandOBJ, an implementation of strategy-guided on-demand evaluation, which improves previous mechanizations that were lacking satisfactory computational properties.