10,826 research outputs found

    Structure and Properties of Traces for Functional Programs

    Get PDF
    The tracer Hat records in a detailed trace the computation of a program written in the lazy functional language Haskell. The trace can then be viewed in various ways to support program comprehension and debugging. The trace was named the augmented redex trail. Its structure was inspired by standard graph rewriting implementations of functional languages. Here we describe a model of the trace that captures its essential properties and allows formal reasoning. The trace is a graph constructed by graph rewriting but goes beyond simple term graphs. Although the trace is a graph whose structure is independent of any rewriting strategy, we define the trace inductively, thus giving us a powerful method for proving its properties

    Non-symmetric Jacobi and Wilson type polynomials

    Full text link
    Consider a root system of type BC1BC_1 on the real line R\mathbb R with general positive multiplicities. The Cherednik-Opdam transform defines a unitary operator from an L2L^2-space on R\mathbb R to a L2L^2-space of C2\mathbb C^2-valued functions on R+\mathbb R^+ with the Harish-Chandra measure |c(\lam)|^{-2}d\lam. By introducing a weight function of the form \cosh^{-\sig}(t)\tanh^{2k} t on R\mathbb R we find an orthogonal basis for the L2L^2-space on R\mathbb R consisting of even and odd functions expressed in terms of the Jacobi polynomials (for each fixed \sig and kk). We find a Rodrigues type formula for the functions in terms of the Cherednik operator. We compute explicitly their Cherednik-Opdam transforms. We discover thus a new family of C2\mathbb C^2-valued orthogonal polynomials. In the special case when k=0k=0 the even polynomials become Wilson polynomials, and the corresponding result was proved earlier by Koornwinder

    Needed Computations Shortcutting Needed Steps

    Get PDF
    We define a compilation scheme for a constructor-based, strongly-sequential, graph rewriting system which shortcuts some needed steps. The object code is another constructor-based graph rewriting system. This system is normalizing for the original system when using an innermost strategy. Consequently, the object code can be easily implemented by eager functions in a variety of programming languages. We modify this object code in a way that avoids total or partial construction of the contracta of some needed steps of a computation. When computing normal forms in this way, both memory consumption and execution time are reduced compared to ordinary rewriting computations in the original system.Comment: In Proceedings TERMGRAPH 2014, arXiv:1505.0681

    Infinitary Combinatory Reduction Systems: Normalising Reduction Strategies

    Get PDF
    We study normalising reduction strategies for infinitary Combinatory Reduction Systems (iCRSs). We prove that all fair, outermost-fair, and needed-fair strategies are normalising for orthogonal, fully-extended iCRSs. These facts properly generalise a number of results on normalising strategies in first-order infinitary rewriting and provide the first examples of normalising strategies for infinitary lambda calculus

    The Sigma-Semantics: A Comprehensive Semantics for Functional Programs

    Get PDF
    A comprehensive semantics for functional programs is presented, which generalizes the well-known call-by-value and call-by-name semantics. By permitting a separate choice between call-by value and call-by-name for every argument position of every function and parameterizing the semantics by this choice we abstract from the parameter-passing mechanism. Thus common and distinguishing features of all instances of the sigma-semantics, especially call-by-value and call-by-name semantics, are highlighted. Furthermore, a property can be validated for all instances of the sigma-semantics by a single proof. This is employed for proving the equivalence of the given denotational (fixed-point based) and two operational (reduction based) definitions of the sigma-semantics. We present and apply means for very simple proofs of equivalence with the denotational sigma-semantics for a large class of reduction-based sigma-semantics. Our basis are simple first-order constructor-based functional programs with patterns
    • ā€¦
    corecore