Programming with Equations: A Framework for Lazy Parallel Evaluation
نویسندگان
چکیده
Huet and Levy pioneered lazy sequential evaluation of equational programs based on the concepts of strong-sequentiality and needed redexes. Natural extensions of their strategy are not well-suited for parallel evaluation since they do not support independent searches for needed redexes along diierent paths in the input term. Furthermore, the size of compiled code can be exponential in program size. We therefore propose a diierent notion of sequentiality called path-sequentiality that overcomes these drawbacks and thus provides a natural framework for lazy parallel evaluation. We present a sound and complete algorithm for lazy parallel normalization of path-sequential systems. We show that our algorithm is optimal in the sense that its time complexity is bounded only by the time required to perform the needed reductions. The results presented in this paper are applicable to functional languages as well through the transformation of Laville.
منابع مشابه
Lazy Evaluation Schemes for Efficient Implementation of Multi-Context Algebraic Completion System
Lazy evaluation is a computational scheme which delays the evaluation of an expression until its value is needed, trying to improve the performance particularly when dealing with large data structure. In this paper, we apply this mechanism to a multi-context algebraic reasoning system which, on a large data structure called the nodes, efficiently simulates parallel processes each executing an a...
متن کاملAn Efficient Implementation of Multi-Context Algebraic Reasoning System with Lazy Evaluation
A multi-context algebraic reasoning system is a computational system which can efficiently simulate parallel processes each executing an algebraic reasoning procedure under a particular context (or a premise). In particular, the multi-completion system MKB simulates the parallel KnuthBendix completion procedures, which, given a set of equations and a set of reduction orderings, try to generate ...
متن کاملImproving Parallel Implementations of Lazy Functional Languages Using Evaluation Transformers
This report outlines a parallel abstract machine for the implementation of a lazy functional core language. The evaluation transformer model of reduction [1] is used to control the evaluation process. An evaluator space containing parameterised evaluators for structured and polymorphic types is introduced. Using this framework it is possible to handle runtime information about evaluators for ar...
متن کاملNumerical Simulation guided Lazy Abstraction Refinement for Nonlinear Hybrid Automata
This draft suggests a new counterexample guided abstraction refinement (CEGAR) framework that uses the combination of numerical simulation for nonlinear differential equations with linear programming for linear hybrid automata (LHA) to perform reachability analysis on nonlinear hybrid automata. A notion of ǫ− structural robustness is also introduced which allows the algorithm to validate counte...
متن کاملFormal reasoning about concurrent programs using a lazy- STM system
Transactional memory (TM) is an easy-using parallel programming model that avoids common problems associated with conventional locking techniques. Several researchers have proposed alternative hardware and software TM implementations. However, few ones focus on formal reasoning about programs using TM system. In this paper, we propose a framework at assembly level for reasoning about concurrent...
متن کامل