当前位置: X-MOL 学术J. Log. Algebr. Methods Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A partial evaluation framework for order-sorted equational programs modulo axioms
Journal of Logical and Algebraic Methods in Programming ( IF 0.9 ) Pub Date : 2019-10-31 , DOI: 10.1016/j.jlamp.2019.100501
M. Alpuente , A. Cuenca-Ortega , S. Escobar , J. Meseguer

Partial evaluation is a powerful and general program optimization technique with many successful applications. Existing PE schemes do not apply to expressive rule-based languages like Maude, CafeOBJ, OBJ, ASF+SDF, and ELAN, which support: 1) rich type structures with sorts, subsorts, and overloading; and 2) equational rewriting modulo various combinations of axioms such as associativity, commutativity, and identity. In this paper, we develop the new foundations needed and illustrate the key concepts by showing how they apply to partial evaluation of expressive programs written in Maude. Our partial evaluation scheme is based on an automatic unfolding algorithm that computes term variants and relies on high-performance order-sorted equational least general generalization and order-sorted equational homeomorphic embedding algorithms for ensuring termination. We show that our partial evaluation technique is sound and complete for convergent rewrite theories that may contain various combinations of associativity, commutativity, and/or identity axioms for different binary operators. We demonstrate the effectiveness of Maude's automatic partial evaluator, Victoria, on several examples where it shows significant speed-ups.



中文翻译:

顺序排序方程程序模公理的部分评估框架

部分评估是一种功能强大且通用的程序优化技术,具有许多成功的应用程序。现有的PE方案不适用于基于表达的基于规则的语言,例如Maude,CafeOBJ,OBJ,ASF + SDF和ELAN,它们支持:1)具有排序,子排序和重载的丰富类型结构;2)等式重写以公理的各种组合为模,例如关联性,可交换性和同一性。在本文中,我们开发了所需的新基础,并通过显示关键概念如何将其应用于用Maude编写的表达程序的部分评估中来说明它们。我们的部分评估方案基于自动展开算法,该算法计算术语变体并依赖于高性能顺序排序的方程式最小广义泛化排序排序的等式同胚嵌入算法,以确保终止。我们表明,对于聚合重写理论而言,我们的部分评估技术是健全且完整的,其中可能包含针对不同二元运算符的关联性,可交换性和/或标识公理的各种组合。我们在几个示例中证明了Maude的自动局部评估器Victoria的有效性,这些示例显示了显着的提速。

更新日期:2019-10-31
down
wechat
bug