Download PDFOpen PDF in browser

Automatic Staging via Partial Evaluation Techniques

13 pagesPublished: March 27, 2016

Abstract

Partial evaluation and staging are two of the well-known symbolic
manipulation techniques of programs which generate efficient
specialized code. On one hand, partial evaluation provides us with an
automatic means to separate a program into two (or more) stages but
its behavior is perceived as hard to control. On the other hand,
staging (or staged calculus) requires us to manually separate a
program but with full control over its behavior. In the previous
work, the first author introduced a framework to relate the two
techniques, giving a unified view to the two techniques. In this
paper, we extend the framework to handle the cross-stage persistence
(CSP) and show that the 2-level staging annotation obtained by the
automatic separation is the best staging annotation in a system where
CSP is allowed for base-type values only. In the presence of CSP for
higher-type values, on the other hand, there is no single annotation
that is better than all the other annotations.

Keyphrases: binding time analysis, cross stage persistence, partial evaluation, staging

In: James H. Davenport and Fadoua Ghourabi (editors). SCSS 2016. 7th International Symposium on Symbolic Computation in Software Science, vol 39, pages 1-13.

BibTeX entry
@inproceedings{SCSS2016:Automatic_Staging_via_Partial,
  author    = {Kenichi Asai and Yukiyoshi Kameyama},
  title     = {Automatic Staging via Partial Evaluation Techniques},
  booktitle = {SCSS 2016. 7th International Symposium on  Symbolic Computation in Software Science},
  editor    = {James H. Davenport and Fadoua Ghourabi},
  series    = {EPiC Series in Computing},
  volume    = {39},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/Prd},
  doi       = {10.29007/rfbk},
  pages     = {1-13},
  year      = {2016}}
Download PDFOpen PDF in browser