• Title of article

    When is a functional program not a functional program?

  • Author/Authors

    Longley، John نويسنده ,

  • Issue Information
    روزنامه با شماره پیاپی سال 1999
  • Pages
    0
  • From page
    1
  • To page
    0
  • Abstract
    In an impure functional language, there are programs whose behaviour is completely functional (in that they behave extensionally on inputs), but the functions they compute cannot be written in the purely functional fragment of the language. That is, the class of programs with functional behaviour is more expressive than the usual class of pure functional programs. In this paper we introduce this extended class of "functional" programs by means of examples in Standard ML, and explore what they might have to offer to programmers and language impleroentors. After reviewing some theoretical background, we present some examples of functions of the above kind, and discuss how they may be implemented. We then consider two possible programming applications for these functions: the implementation of a search algorithm, and an algorithm for exact real-number integration. We discuss the advantages and limitations of this style of programming relative to other approaches. We also consider the increased scope for compiler optimizations that these functions would offer.
  • Keywords
    register promotion , program representations , profile-guided optimizations , data-flow analysis
  • Journal title
    A C M Sigplan (Programming Languages) Sigplan Notices
  • Serial Year
    1999
  • Journal title
    A C M Sigplan (Programming Languages) Sigplan Notices
  • Record number

    16977