• Title of article

    Using Regular Approximations for Generalisation During Partial Evaluation

  • Author/Authors

    Gallagher، John P. نويسنده , , Peralta، Julio C. نويسنده ,

  • Issue Information
    روزنامه با شماره پیاپی سال 1999
  • Pages
    -43
  • From page
    44
  • To page
    0
  • Abstract
    On-line partial evaluation algorithms include a generalisation step, which is needed to ensure termination. In partial evaluation of logic and functional programs, the usual generalisation operation applied to computation states is the most specific generalisation (msg) of expressions. This can cause loss of information, which is especially serious in programs whose computations first build some internal data structure, which is then used to control a subsequent phase of execution - a common pattern of computation. If the size of the intermediate data is unbounded at partial evaluation time then the msg will lose almost all information about its structure. Hence the second phase of computation cannot be effectively specialised. In this paper a generalisation based on regular approximations is presented. Regular approximations are recursive descriptions of term structure closely related to tree automata. A regular approximation of computation states can be built during partial evaluation. The critical point is that when generalisation is performed, the upper bound on regular descriptions can be combined with the "msg, thus preserving structural information including recursively defined structure. The domain of regular approximations is infinite and hence a widening is incorporated in the generalisation to ensure termination. An algorithm for partial evaluation of logic programs, enhanced with regular approximations, along with some examples of its use will be presented.
  • Keywords
    Visitor Pattern , Separation of Concerns , Recursive Programming
  • 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

    17095