Term Rewriting with Operator Evaluation Strategies
Steven Eker · Electronic Notes in Theoretical Computer Science · 1998
We consider a number of problems which arise when performing term rewriting in algebraic specifications with each operator having an evaluation strategy for its arguments. Each problem is illustrated with an 0BJ3 example. We propose a solution developed for the evaluation of functional modules in the Maude interpreter which is based on maintaining an invariant on the term graph by copying subgraphs where necessary. An executable Maude specification of this technique is presented. I thank Jose Meseguer for his advice on the structure of this paper and his help with the Maude specification. I also thank Patrick Lincoln and Francisco Durán for their detailed comments on earlier drafts.