scholarly journals Sharing of Computations

1993 ◽  
Vol 22 (453) ◽  
Author(s):  
Torben Amtoft

<p>The main purpose of the thesis is to develop a model enabling one to reason about various techniques for program optimization, in particular wrt.\ speedup and correctness. Moreover, several methods to increase the amount of sharing are discussed, and a new one (to be termed ''ultimate sharing'') is treated in detail.</p><p> </p><p>Concerning speedup, a main point is to factor out the reasons why a program transformation may yield more than a constant speedup.</p><p> </p><p>Concerning correctness, the interesting part is preservation of termination properties. This issue is mainly addressed for a logic language, where previous results from the literature are generalized -- but also for a functional language some (more limited) results are presented.</p>

1995 ◽  
Vol 5 (4) ◽  
pp. 549-581 ◽  
Author(s):  
Willem G. Vree ◽  
Pieter H. Hartel

AbstractCommunication lifting is a program transformation that can be applied to a synchronous process network to restructure the network. This restructuring in theory improves sequential and parallel performance. The transformation has been formally specified and proved correct and it has been implemented as an automatic program transformation tool. This tool has been applied to a small set of programs consisting of synchronous process networks. For these networks communication lifting generates parallel programs that do not require locking. Measurements indicate performance gains in practice both with sequential and parallel evaluation. Communication lifting is a worthwhile optimization to be included in a compiler for a lazy functional language.


2000 ◽  
Vol 7 (47) ◽  
Author(s):  
Lasse R. Nielsen

<p>Defunctionalization was introduced by John Reynolds in his 1972<br />article Definitional Interpreters for Higher-Order Programming <br />Languages. Defunctionalization transforms a higher-order program into a first-order one, representing functional values as data structures. Since then it has been used quite widely, but we observe that it has never been proven correct. We formalize defunctionalization denotationally for a typed functional language, and we prove that it preserves the meaning of any terminating program. Our proof uses logical relations.</p><p>Keywords: defunctionalization, program transformation, denotational semantics, logical relations.</p>


2022 ◽  
Vol 6 (POPL) ◽  
pp. 1-28
Author(s):  
Amanda Liu ◽  
Gilbert Louis Bernstein ◽  
Adam Chlipala ◽  
Jonathan Ragan-Kelley

We present a lightweight Coq framework for optimizing tensor kernels written in a pure, functional array language. Optimizations rely on user scheduling using series of verified, semantics-preserving rewrites. Unusually for compilation targeting imperative code with arrays and nested loops, all rewrites are source-to-source within a purely functional language. Our language comprises a set of core constructs for expressing high-level computation detail and a set of what we call reshape operators, which can be derived from core constructs but trigger low-level decisions about storage patterns and ordering. We demonstrate that not only is this system capable of deriving the optimizations of existing state-of-the-art languages like Halide and generating comparably performant code, it is also able to schedule a family of useful program transformations beyond what is reachable in Halide.


2021 ◽  
Author(s):  
Peter Podlovics ◽  
Csaba Hruska ◽  
Andor Pénzes

GRIN is short for Graph Reduction Intermediate Notation, a modern back end for lazy functional languages. Most of the currently available compilers for such languages share a common flaw: they can only optimize programs on a per-module basis. The GRIN framework allows for interprocedural whole program analysis, enabling optimizing code transformations across functions and modules as well. Some implementations of GRIN already exist, but most of them were developed only for experimentation purposes. Thus, they either compromise on low-level efficiency or contain ad hoc modifications compared to the original specification. Our goal is to provide a full-fledged implementation of GRIN by combining the currently available best technologies like LLVM, and evaluate the framework's effectiveness by measuring how the optimizer improves the performance of certain programs. We also present some improvements to the already existing components of the framework. Some of these improvements include a typed representation for the intermediate language and an interprocedural program optimization, the dead data elimination.


1993 ◽  
Vol 3 (1) ◽  
pp. 93-115 ◽  
Author(s):  
Colin Runciman ◽  
Ian Toyn ◽  
Mike Firth

AbstractMost programming environments for functional languages offer a single tool used to evaluate programs – either a batch compiler or an interpreter with a read-eval-print loop. This paper presents a programming environment that supports not only evaluation, but also a range of other programming activities including transformation. The environment is designed to encourage working in an incremental and exploratory style, avoiding constraints on the order in which things must be done yet guarenteeing security. What has already been done towards the development of a program automatically persists, as does information about what has yet to be done. For instance, new laws can be introduced as conjectures and used in program transformation, but full details of proof obligations and dependencies are maintained.The paper outlines the functional language supported by the environment, and uses an extended example to illustrate program construction, execution, tracing, modification and transformation.


2020 ◽  
Vol 5 (3) ◽  
pp. 622-636
Author(s):  
John Heilmann ◽  
Alexander Tucci ◽  
Elena Plante ◽  
Jon F. Miller

Purpose The goal of this clinical focus article is to illustrate how speech-language pathologists can document the functional language of school-age children using language sample analysis (LSA). Advances in computer hardware and software are detailed making LSA more accessible for clinical use. Method This clinical focus article illustrates how documenting school-age student's communicative functioning is central to comprehensive assessment and how using LSA can meet multiple needs within this assessment. LSA can document students' meaningful participation in their daily life through assessment of their language used during everyday tasks. The many advances in computerized LSA are detailed with a primary focus on the Systematic Analysis of Language Transcripts (Miller & Iglesias, 2019). The LSA process is reviewed detailing the steps necessary for computers to calculate word, morpheme, utterance, and discourse features of functional language. Conclusion These advances in computer technology and software development have made LSA clinically feasible through standardized elicitation and transcription methods that improve accuracy and repeatability. In addition to improved accuracy, validity, and reliability of LSA, databases of typical speakers to document status and automated report writing more than justify the time required. Software now provides many innovations that make LSA simpler and more accessible for clinical use. Supplemental Material https://doi.org/10.23641/asha.12456719


2020 ◽  
Vol 4 (1) ◽  
pp. 11-15
Author(s):  
Mukodas . ◽  
Wildan F. Mubarock

HUMOR AND TASTE OF KHONG GUAN IN JOKO PINURBO’S POEMJoko Pinurbo is one of productive writer. The most interesting part of all works from Jokpin is the humour or jokes he inserted. What makes it interesting there are several poems that he wrote which published in Kompas newspaper on 31st Agustus 2019. There are twelve poems which consists the word Khong Guan in every title: Perjamuan Khong Guan, Hujan Khong Guan, Tidur Khong Guan, Lebaran Khong Guan, Minuman Khong Guan, Sabda Khong Guan, Agama Khong Guan, Keluarga Khong Guan, Mudik Khong Guan, Doa Khong Guan, Bingkisan Khong Guan, dan Hati Khong Guan. Those twelve poems are the subject to this research. The aim of this research is to define how humor was created.  Recent humors are mostly uneducated humor such as insult joke, bullying, and disrespectful. Joko Pinurbo gives alternative in doing humor, through poem. Humor found in the poem is dominated by tragedy humor. Descriptive qualitative method is used in this research. This research found that there are five poems which can be classified as tragedy


Sign in / Sign up

Export Citation Format

Share Document