Higher-Order and Symbolic Computation, 13(4)287-288

Editorial

Olivier Danvy and Carolyn Talcott

Following Vol. 12, No. 4, this issue of HOSC concludes a two-part series dedicated tothe general topic of partial evaluation. This series grew out of PEPM'99, the 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation,which took place in San Antonio, Texas on January 22nd and 23rd, 1999 [1].

PEPM'99 brought together researchers working in the areas of semantics-based program manipulation and partial evaluation. The workshop focused on techniques and supporting theory for the analysis and manipulation of programs. Technical topics included, but were not limited to:
  • Program manipulation techniques: program transformation, program specialization, typespecialization, syntax-directed partial evaluation, type-directed partial evaluation, normalization, continuations, reflection, rewriting, run-time code generation.
  • Program analysis techniques: abstract interpretation, static analysis, binding-time analysis, attribute grammars, constraints.
  • Related issues in language design and models of computation: imperative, functional, logical, object-oriented, parallel, distributed, mobile, secure.
  • Programs as data objects: staging, meta-programming, incremental computation, mobility, tools and techniques, prototyping and debugging.
  • Applications: systems programming, scientific computing, algorithmics, graphics, security checking, simulation, compiler generation, compiler optimization, decompilation.
The articles in this special issue reflect this diversity.

In her overview article "Efficiency by Incrementalization", Annie Liu provides an introduction to incremental computation, centering on her own work starting with her PhD thesis. Incrementalization is achieved using (semi-)automatic program-derivation techniques: equational reasoning and fold/unfold transformations.

In their article "Slicing Software for Model Construction", John Hatcliff, Matt Dwyer, and Hongjun Zheng show how to slice a program with respect to a formula in Linear Temporal Logic so that the slice satisfies the formula if and only if the original program does too. Slicing makes it possible for a model checker to operate over a reduced state spacerather than over the original one. The article is self-contained and provides an overview both of slicing and of model checking in Linear Temporal Logic.

In his article "Glossary for Partial Evaluation and Related Topics", Torben Mogensen provides an up-to-date terminology list in the area of partial evaluation.

Reference

1. Olivier Danvy, editor. ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Technical report BRICS-NS-99-1, University of Aarhus, San Antonio, Texas, January 1999.
[picture of journal cover]

June 2003 - hosc@brics.dk