• DocumentCode
    3686795
  • Title

    A step towards genuine declarative language-integrated queries

  • Author

    Radosław Adamus;Tomasz Marek Kowalski;Jacek Wiślicki

  • Author_Institution
    Institute of Applied Computer Science, Lodz University of Technology, 90-924, ul. Stefanowskiego, 18/22, Poland
  • fYear
    2015
  • Firstpage
    935
  • Lastpage
    946
  • Abstract
    Native functional-style querying extensions for programming languages (e.g., LINQ or Java 8 streams) are widely considered as declarative. However, their very limited degree of optimisation when dealing with local collection processing contradicts this statement. We show that developers constructing complex LINQ queries or combining queries expose themselves to the risk of severe performance deterioration. For an inexperienced programmer, a way of getting an appropriate query form can be too complicated. Also, a manual query transformation is justified by the need of improving performance, but achieved at the expense of reflecting an actual business goal. As a result, benefits from a declarative form and an increased level of abstraction are lost. In this paper, we claim that moving of selected methods for automated optimisation elaborated for declarative query languages to the level of imperative programming languages is possible and desired. We propose an optimisation method for collection-processing constructs based on higher-order functions through factoring out of free expressions in order to avoid unnecessary multiple calculations. We have implemented and verified this idea as a simple proof-of-concept LINQ optimiser library.
  • Keywords
    "Optimization","Query processing","Programming","Syntactics","Computer languages","Reactive power"
  • Publisher
    ieee
  • Conference_Titel
    Computer Science and Information Systems (FedCSIS), 2015 Federated Conference on
  • Type

    conf

  • DOI
    10.15439/2015F156
  • Filename
    7321544