Download Free Partial Evaluation And Program Transformation Book in PDF and EPUB Free Download. You can read online Partial Evaluation And Program Transformation and write the review.

Partial evaluation reconciles generality with efficiency by providing automatic specialization and optimization of programs. This book covers the entire field of partial evaluation; provides simple and complete algorithms; and demonstrates that specialization can increase efficiency.
Program manipulation is the task to perform transformations on program code, and is normally done in order to optimize the code with respect of the utilization of some computer resource. Partial evaluation is the task when partial computations can be performed in a program before it is actually executed. If a parameter to a procedure is constant a specialized version of that procedure can be generated if the constant is inserted instead of the parameter in the procedure body and as much computations in the code as possible are performed. A system is described which works on programs written in INTERLISP, and which performs partial evaluation together with other transformations such as beta-expansion and certain other optimization operations. The system works on full LISP and not only for a "pure" LISP dialect, and deals with problems occurring there involving side-effects, variable assignments etc. An analysis of a previous system, REDFUN, results in a list of problems, desired extensions and new features. This is used as a basis for a new design, resulting in a new implementation, REDFUN-2. This implementation, design considerations, constraints in the system, remaining problems, and other experience from the development and experiments with the system are reported in this paper.
As the complexity of software increases, researchers and practicioners continue to seek better techniques for engineering the construction of evolution of software. Partial evaluation is an attractive technology for modern software construction since it provides automatic tools for software specialization and is based on rigorous semantic foundations. This book is based on a school held at DIKU Copenhagen, Denmark in summer 1998 during which leading researchers summarized the state of the art in partial evaluation. The lectures presented survey the foundations of partial evaluation in a clear and rigorous manner and practically introduce several existing partial evaluators with numerous examples. The second part of the book is devoted to more sophisticated theoretical aspects, advances systems and applications, and highlights open problems and challenges. The book is ideally suited for advanced courses and for self study.
The aim of Partial Evaluation and Mixed Computation is to construct, when given a program and some form of restriction on its usage (e.g. knowledge of some but not all of its input parameter values), a more efficient new or ''residual'' program that is equivalent to the original program when used according to the restriction. Compiling and compiler generation are just two of the many applications. It is thus a form of program transformation, but with more emphasis on purely automatic methods than traditional program transformation. This volume collects a variety of examples of current work in the field. The papers demonstrate the vitality of this emerging area with contributions covering many different aspects, such as programming languages, application areas, degrees of automation, degrees of formality, and technical methods.
"Sponsored by the Association for Computing Machinery, Special Interest Group on Programming Languages (SIGPLAN)."
By means of a supporting transformation that dynamically introduces new predicates and their definitions, we can overcome the restrictions caused by these conditions. A partial evaluation will, in general, contain redundant functions and unnecessary repetition of variables. This can cause inefficiency in the use of space and time by the transformed program. The second supporting transformation described here cleans up a partial evaluation removing any unnecessary symbols."