• DocumentCode
    3073457
  • Title

    The elimination of intermediate containers in the evaluation of first-class array expressions

  • Author

    McCrosky, Carl

  • Author_Institution
    Dept. of Comput. Sci., Saskatchewan Univ., Saskatoon, Sask., Canada
  • fYear
    1988
  • fDate
    9-13 Oct 1988
  • Firstpage
    135
  • Lastpage
    142
  • Abstract
    A language with first-class arrays has functions that map from arrays to arrays, where arrays are nested rectangular containers. Such languages are conceptually appropriate for a wide range of applications. Unfortunately, straightforward implementations have high memory allocation and data movement overheads. An algorithm and implementation which discover efficient implementations for first-class array expressions is presented. This optimizer achieves results equivalent to the code a good imperative programmer would produce. For many examples, all temporary arrays and unnecessary moves are avoided. To motivate and provide a basis for this work, a first-class array language is defined and examples of its use are given
  • Keywords
    functional programming; high level languages; program compilers; first-class array expressions; first-class array language; imperative programmer; intermediate containers; nested rectangular containers; optimizer; Array signal processing; Automatic programming; Bridges; Containers; Design optimization; High level languages; Production; Programming profession; Runtime; Shape;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Languages, 1988. Proceedings., International Conference on
  • Conference_Location
    Miami Beach, FL
  • Print_ISBN
    0-8186-0874-9
  • Type

    conf

  • DOI
    10.1109/ICCL.1988.13052
  • Filename
    13052