Book contents
- Frontmatter
- Abstract
- Contents
- Preface
- 1 Partial Evaluation in Principle
- 2 Partial Evaluation in Practice
- 3 Static Projections
- 4 Binding-Time Analysis
- 5 Run Time Arguments
- 6 Implementation
- 7 Polymorphism
- 8 Conclusion
- A Implementation of PEL
- B Implementation of BTA
- C Implementation of Specialisation
- D Library Functions
- Bibliography
- Index
- Frontmatter
- Abstract
- Contents
- Preface
- 1 Partial Evaluation in Principle
- 2 Partial Evaluation in Practice
- 3 Static Projections
- 4 Binding-Time Analysis
- 5 Run Time Arguments
- 6 Implementation
- 7 Polymorphism
- 8 Conclusion
- A Implementation of PEL
- B Implementation of BTA
- C Implementation of Specialisation
- D Library Functions
- Bibliography
- Index
Summary
This thesis is submitted in partial fulfillment of the requirements for a Doctor of Philosophy Degree at Glasgow University. It comprises a study of partial evaluation, with the thesis that domain projections provide an important theoretical and practical tool for its development.
Our aim, therefore, is not so much to describe a stronger or more robust partial evaluator than has been achieved hitherto, but to improve our understanding of the partial evaluation process. Because of this much of the thesis is theoretical. However, to demonstrate that the ideas are also practical, they have been implemented. As a result, the chapters tend to alternate between theory and practice.
In Chapter 1 we explore the principles of partial evaluation and in Chapter 2 we study the algorithms and techniques used. In Chapters 3 and 4 we address the issue of binding-time analysis. Chapter 3 contains theory, including the relationship between congruence in binding-time analysis and safety in strictness analysis, and Chapter 4 the practice-the equations used in an implementation and a proof of their correctness. In Chapter 5, we discuss the nature of residual functions and their run-time arguments, and develop a theoretical framework based on dependent sums of domains. The practical implications of this are seen in Chapter 6 where we bring the material from the previous chapters together in a working projection-based partial evaluator. In Chapter 7 we turn our attention to polymorphism to address some of the issues it raises, and Chapter 8 concludes the thesis. The appendices which follow contain annotated listings of the programs used to construct the final polymorphic partial evaluator.
- Type
- Chapter
- Information
- Project Factorisations in Partial Evaluation , pp. x - xiiPublisher: Cambridge University PressPrint publication year: 1991