A program manipulation system based on partial evaluation

University dissertation from Linköping : Linköpings universitet

Abstract: Programmanipulation is the task to perform transformations on programcode, and is normally done in order to optimize the code withrespect of the utilization of some computer resource. Partialevaluation is the task when partial computations can be performedin a program before it is actually executed. If a parameter to aprocedure is constant a specialized version of that procedure canbe generated if the constant is inserted instead of the parameterin the procedure body and as much computations in the code aspossible are performed.A system is described which works on programs written in INTERLISP,and which performs partial evaluation together with othertransformations such as beta-expansion and certain otheroptimization operations. The system works on full LISP and not onlyfor a "pure" LISP dialect, and deals with problems occurring thereinvolving side-effects, variable assignments etc. An analysis of aprevious system, REDFUN, results in a list of problems, desiredextensions and new features. This is used as a basis for a newdesign, resulting in a new implementation, REDFUN-2. Thisimplementation, design considerations, constraints in the system,remaining problems, and other experience from the development andexperiments with the system are reported in thispaper.     

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.