The derivation of functional equivalents of imperative programs

被引:1
|
作者
Roberts, GHB [1 ]
机构
[1] Flinders Univ S Australia, Sch Informat & Engn, Adelaide, SA 5001, Australia
关键词
D O I
10.1109/ACSC.2001.906639
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Denotational semantics is presented as a valuable theoretical tool, having many applications including language design, compiler generation and program analysis. In particular, a method is described for deriving a concise and useful functional representation of a program using a denotational definition of the source language's semantics. Our aim is to translate a given program into a compact functional representation to facilitate its evaluation on functional hardware. The X-expressions are first translated into Turner's combinator code (see [7]) WE choose to use a fired set of combinators as the resulting code is more amenable to analysis and there are many inherent advantages such as lazy evaluation and once only evaluation of reducible sub-expressions. Semantic algebras relating to static semantics and the store algebra are "unfrozen" so they can be partially evaluated. The reduction machine that performs the evaluation includes simplification rules that allows a more compact functional representation (denotation) to be reached. If desired, some or all of the programs arguments can be supplied to produce a new denotation (result) using the same reduction machine.
引用
收藏
页码:171 / 176
页数:6
相关论文
共 50 条
  • [1] Building an IDE for the Calculational Derivation of Imperative Programs
    Chaudhari, Dipak L.
    Damani, Om
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2015, (187): : 1 - 13
  • [2] PROJECTING FUNCTIONAL MODELS OF IMPERATIVE PROGRAMS
    HARMAN, M
    DANICIC, S
    [J]. SIGPLAN NOTICES, 1993, 28 (11): : 33 - 41
  • [3] Transformation of Functional Dataflow Parallel Programs into Imperative Programs
    Vasilev, V. S.
    Legalov, A. I.
    Zykov, S. V.
    [J]. AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2022, 56 (07) : 815 - 827
  • [4] Approximating the domains of functional and imperative programs
    Brauburger, J
    Giesl, J
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 1999, 35 (2-3) : 113 - 136
  • [5] Transformation of Functional Dataflow Parallel Programs into Imperative Programs
    V. S. Vasilev
    A. I. Legalov
    S. V. Zykov
    [J]. Automatic Control and Computer Sciences, 2022, 56 : 815 - 827
  • [6] SPARSE FUNCTIONAL STORES FOR IMPERATIVE PROGRAMS
    STEENSGAARD, B
    [J]. SIGPLAN NOTICES, 1995, 30 (03): : 62 - 70
  • [7] Parallelizing imperative functional programs: The vectorization monad
    Hill, JMD
    Clarke, KM
    Bornat, R
    [J]. JOURNAL OF SYMBOLIC COMPUTATION, 1996, 21 (4-6) : 561 - 576
  • [8] THE USE OF FUNCTIONAL ANNOTATIONS IN VERIFYING IMPERATIVE PROGRAMS
    NICHOLL, R
    CLINT, M
    GRAY, D
    NICHOLL, T
    [J]. SOFTWARE ENGINEERING JOURNAL, 1990, 5 (05): : 280 - 288
  • [9] DERIVATION OF LOGIC PROGRAMS BY FUNCTIONAL METHODS
    BIJLSMA, A
    [J]. INFORMATION PROCESSING LETTERS, 1991, 39 (06) : 325 - 332
  • [10] Relational Cost Analysis for Functional-Imperative Programs
    Qu, Weihao
    Gaboardi, Marco
    Garg, Deepak
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (ICFP):