On-demand Evaluation for Maude

Strategy annotations provide a simple mechanism for introducing some laziness in the evaluation of expressions. As an eager programming language, Maude can take advantage of them and, in fact, they are part of the language. Maude strategy annotations are lists of non-negative integers associated to function symbols which specify the ordering in which the arguments are (eventually) evaluated in function calls. A positive index enables the evaluation of an argument whereas 'zero' means that the function call has to be attempted. The use of negative indices has been proposed to express evaluation on-demand, where the demand is an attempt to match an argument term with the left-hand side of a rewrite rule. In this paper we show how to furnish Maude with the ability of dealing with on-demand strategy annotations.

[1]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[2]  Santiago Escobar,et al.  Thesis: Strategies and analysis techniques in functional program optimization , 2004, AI Commun..

[3]  Salvador Lucas,et al.  Improving On-Demand Strategy Annotations , 2002, LPAR.

[4]  Kazuhiro Ogata,et al.  Operational semantics of rewriting with the on-demand evaluation strategy , 2000, SAC '00.

[5]  Kazuhiro Ogata,et al.  The evaluation strategy for head normal form with and without on-demand flags , 2000, WRLA.

[6]  Francisco Durán,et al.  An extensible module algebra for Maude , 1998, WRLA.

[7]  Salvador Lucas Context-sensitive rewriting strategies , 2002 .

[8]  Claude Kirchner,et al.  Rewriting with Strategies in ELAN: A Functional Semantics , 2001, Int. J. Found. Comput. Sci..

[9]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.

[10]  Salvador Lucas,et al.  Correct and Complete (Positive) Strategy Annotations for OBJ , 2002, Electron. Notes Theor. Comput. Sci..

[11]  Steven Eker Term rewriting with operator evaluation strategies , 1998, WRLA.

[12]  Maria C. F. Ferreira,et al.  Context-Sensitive AC-Rewriting , 1999, RTA.

[13]  Jürgen Giesl,et al.  Transformation techniques for context-sensitive rewrite systems , 2004, J. Funct. Program..

[14]  Francisco Durán,et al.  New Evaluation Commands for Maude Within Full Maude , 2004, WRLA.

[15]  S. Román Strategies and analysis techniques for functional program optimization , 2003 .

[16]  Salvador Lucas,et al.  Termination of on-demand rewriting and termination of OBJ programs , 2001, PPDP '01.

[17]  Salvador Lucas,et al.  OnDemandOBJ: A Laboratory for Strategy Annotations , 2003, Electron. Notes Theor. Comput. Sci..

[18]  José Meseguer,et al.  Towards a Strategy Language for Maude , 2005, WRLA.