62 research outputs found

    Basic completion strategies as another application of the Maude strategy language

    Full text link
    The two levels of data and actions on those data provided by the separation between equations and rules in rewriting logic are completed by a third level of strategies to control the application of those actions. This level is implemented on top of Maude as a strategy language, which has been successfully used in a wide range of applications. First we summarize the Maude strategy language design and review some of its applications; then, we describe a new case study, namely the description of completion procedures as transition rules + control, as proposed by Lescanne.Comment: In Proceedings WRS 2011, arXiv:1204.531

    Visualizing Parallel Functional Program Runs: Case Studies with the Eden Trace Viewer

    Get PDF

    Parallele Implementierung funktionaler Programmiersprachen

    Full text link

    Stack-based Implementation of Narrowing

    Full text link
    An abstract stack machine for the implementation of narrowing is presented. On the one hand

    From Reduction Machines To Narrowing Machines

    Full text link
    Narrowing, the evaluation mechanism of functional logic languages, can be seen as a generalization of reduction, the evaluation mechanism of purely functional languages. The unidirectional pattern matching, which is used for parameter passing in functional languages, is simply replaced by the bidirectional unification known from logic programming languages. We show in this paper, how to extend a reduction machine, that has been designed for the evaluation of purely functional programs to a machine that performs narrowing. The necessary extensions concern the realization of unification and backtracking. The latter has to be incorporated to handle nondeterministic computations. It turns out that the resulting narrowing machine can also be seen as an extension of Warren's Prolog engine [Warren 83]. This extension enables a space efficient handling of nested expressions and embodies an optimized treatment of deterministic computations. As in Warren's machine the central component of the ma..

    Relating the Implementation Techniques of Functional and Functional Logic Languages

    Full text link
    Functional logic languages are declarative programming languages that integrate the programming paradigms of functional and logic languages within a single framework. They are extensions of functional languages with principles derived from logic programming. Narrowing, the evaluation mechanism of functional logic languages, can be defined as a generalization of reduction, the evaluation mechanism of purely functional languages. The unidirectional pattern matching, which is used for parameter passing in functional languages, is simply replaced by the bidirectional unification known from logic programming languages. We show in this paper, how to extend a reduction machine, that has been designed for the evaluation of purely functional programs to a machine that performs narrowing. The necessary extensions concern the realization of unification and backtracking, for which we fall back upon the methods of Warren's Prolog engine [Warren 83]. The narrowing machine embodies an optimized trea..

    Stack management of runtime structures in distributed implementations

    Full text link
    • …
    corecore