Bibliography on partial evaluation and mixed computation (BibTeX format). Author: Peter Sestoft. Last update: 1996-10-16 Keys have changed from author:yy:title to author:yyyy:title; you may use Emacs replace-regexp :\([0-9][0-9]\): :19\1: to update your TeX files correspondingly. The most recent version of this bibliography file is available for anonymous ftp from ftp.diku.dk (Internet node 130.225.96.221) as file /pub/diku/dists/jones-book/partial-eval.bib.Z Please send corrections, updates, and new entries by mail or e-mail to Peter Sestoft * sestoft AT dina.kvl.dk Department of Mathematics and Physics * http://www.dina.kvl.dk/~sestoft Royal Veterinary and Agricultural University * Tel + 45 3528 2334 Thorvaldsensvej 40, DK-1871 Frederiksberg C, Denmark * Fax + 45 3528 2350 Originally compiled in 1987 in cooperation with Harald Sondergaard (now Melbourne, Australia) and Alexander V. Zamulin (Novosibirsk, Russia); see Sestoft:1988:ABibliography and Sestoft:1988:AnnotatedBibliography. File "strings.bib" -- Bibtex string abbreviations. PS, 1993-02-23 Journals, books, and series @STRING{AI = "Artificial Intelligence"} @STRING{Acta = "Acta Informatica"} @STRING{CACM = "Communications of the {ACM}"} @STRING{CJ = "Computer Journal"} @STRING{ESOP = "European Symposium on Programming"} @STRING{FPCA = "International Conference on Functional Programming Languages and Computer Architecture"} @STRING{IFIP = "IFIP World Congress Proceedings"} @STRING{IPL = "Information Processing Letters"} @STRING{JACM = "Journal of the {ACM}"} @STRING{JCSS = "Journal of Computer and System Sciences"} @STRING{JFP = "Journal of Functional Programming"} @STRING{JTASPEFL = "Analyse Statique en Programmation {\'E}quationnelle, Fonctionnelle, et Logique, Bordeaux, France, Octobre 1991 (Bigre, vol. 74)"} @STRING{LASC = "Lisp and Symbolic Computation"} @STRING{LFP = "{ACM} Conference on Lisp and Functional Programming"} @STRING{LICS = "{IEEE} Symposium on Logic in Computer Science"} @STRING{LNCS = "Lecture Notes in Computer Science"} @STRING{MFCS = "Mathematical Foundations of Computer Science"} @STRING{MFPLS = "Mathematical Foundations of Programming Language Semantics"} @STRING{NGC = "New Generation Computing"} @STRING{PEMC = "Partial Evaluation and Mixed Computation"} @STRING{PEPM = "Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation"} @STRING{PEPM92 = "Proceedings of the Symposium on Partial Evaluation and Seman\-tics-Based Program Manipulation, (Technical Report {YALEU/DCS/RR}-909)"} @STRING{PEPM93 = "Proceedings of the Symposium on Partial Evaluation and Seman\-tics-Based Program Manipulation"} @STRING{PEPM94 = "Proceedings of the Symposium on Partial Evaluation and Seman\-tics-Based Program Manipulation (Technical Report 94/9, Department of Computer Science, University of Melbourne)"} @STRING{PEPM95 = "Proceedings of the Symposium on Partial Evaluation and Seman\-tics-Based Program Manipulation 1995"} @STRING{PDO = "Programs as Data Objects, Copenhagen, Denmark (Lecture Notes in Computer Science, vol. 217)"} @STRING{POPL = "ACM Symposium on Principles of Programming Languages"} @STRING{SCP = "Science of Computer Programming"} @STRING{SIGPLAN = "Sigplan Notices"} @STRING{SMD = "Soviet Mathematics Doklady"} @STRING{SPE = "Software -- Practice and Experience"} @STRING{TCS = "Theoretical Computer Science"} @STRING{TOPLAS = "ACM Transactions on Programming Languages and Systems"} @STRING{TSE = "IEEE Transactions on Software Engineering"} @STRING{WSA92 = "WSA '92, Static Analysis, Bordeaux, France, September 1992. Bigre vols 81--82, 1992"} Publishers @STRING{ACM = "New York:\ ACM"} @STRING{A-W = "Reading, MA:\ Addison-Wesley"} @STRING{AP = "New York:\ Academic Press"} @STRING{CSP = "Computer Science Press"} @STRING{CUP = "Cambridge:\ Cambridge University Press"} @STRING{IEEE = "New York:\ IEEE"} @STRING{IEEECSP = "New York:\ IEEE Computer Society"} @STRING{ISO = "Geneva:\ ISO"} @STRING{JWS = "New York:\ John Wiley \& Sons"} @STRING{MIT = "Cambridge, MA:\ MIT Press"} @STRING{N-H = "Amsterdam:\ North-Holland"} @STRING{OUP = "Oxford:\ Oxford University Press"} @STRING{P-H = "Englewood Cliffs, NJ:\ Prentice Hall"} @STRING{S-V = "Berlin:\ Springer-Verlag"} @STRING{SL = "Lund:\ Studentlitteratur"} @STRING{WHF = "W.H. Freeman"} @STRING{Yale = "New Haven, CT:\ Yale University"} Institutions and people @STRING{BEJ = "D. Bj{\o}rner and A.P. Ershov and N.D. Jones"} @STRING{CCN = "No\-vo\-si\-birsk:\ Computing Center"} @STRING{CTH = "Chalmers University of Technology"} @STRING{DIKU = "DIKU, University of Copenhagen, Denmark"} @STRING{DGT = "O. Danvy and R. Gl{\"u}ck and P. Thiemann"} @STRING{IDDTH = "Department of Computer Science, Technical University of Denmark"} @STRING{ISI = "Informatics Systems Institute, Novosibirsk, USSR"} @STRING{PMG = "Programming Methodology Group, Chalmers University of Technology"} @STRING{PROCOS = "ProCoS II, ESPRIT BRA 7071"} @STRING{UPMAIL = "UPMAIL, Uppsala University, Sweden"} AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @INCOLLECTION{ Abramov:1982:ACompiler, AUTHOR = "S.M. Abramov and N.V. Kondratjev", TITLE = "A Compiler Based on Partial Evaluation", BOOKTITLE = "Problems of Applied Mathematics and Software Systems", PAGES = "66-69", PUBLISHER = "Moscow State University", ADDRESS = "Moscow, USSR", YEAR = "1982", NOTE = "(In Russian)", ANNOTE = "The principles of a Refal optimizing compiler design based on mixed computation methods are discussed. The configuration analysis module which realizes mixed computation of a Refal program and checks for infinite looping of the partial evaluator (i.e., the neighbourhood analysis) is described in detail."} @INCOLLECTION{ Abramov:1984:Using, AUTHOR = "S.M. Abramov", TITLE = "Using Neighbourhood Analysis for Software Testing", BOOKTITLE = "Various Aspects of Systems Programming", PAGES = "125-129", PUBLISHER = "Moscow State Univ. Publ. House, USSR", YEAR = "1984", NOTE = "(In Russian)", ANNOTE = "A method for software testing based on the use of the neighbourhood analyzer vicon is described. The neighbourhood analyzer is in essence a kind of monovariant partial evaluator which does metacomputation of the given program on fully undefined data and usual computation on fully defined data."} @InCollection{Abramov:1988:Metaevaluation, author = "S. Abramov", title = "Metaevaluation and Logic Programming", booktitle = "Semiotic Aspects of Formalization of Intellectual Activities", publisher = "", year = "1988", pages = "23-26", address = "Moscow", note = "(In Russian)"} @Proceedings{ACM:1991:PartialEvaluation, key = "ACM:1991:PartialEvaluation", title = PEPM, year = "1991", organization = "ACM", publisher = ACM, OPTmonth = "", OPTnote = ""} @Proceedings{ACM:1992:PartialEvaluation, key = "ACM:1992:PartialEvaluation", title = PEPM92, year = "1992", publisher = Yale, organization = "ACM", OPTmonth = "", OPTnote = ""} @Proceedings{ACM:1993:PEPM, title = "Symposium on Partial Evaluation and Semantics-Based Program Manipulation", year = "1993", organization = "ACM", address = "Copenhagen, Denmark", month = "June", OPTnote = "" } @Proceedings{ACM:1994:PEPM, title = "ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, Florida, June 1994. Technical Report 94/9, Department of Computer Science, University of Melbourne, Australia", year = "1994", organization = "ACM", OPTnote = "", OPTannote = ""} @Proceedings{ACM:1995:PEPM, title = "Symposium on Partial Evaluation and Semantics-Based Program Manipulation", year = "1995", organization = "ACM", address = "La Jolla, California", month = "June", OPTnote = ""} @Proceedings{AEIIS:1996:Perspectives, booktitle = "Perspectives of System Informatics. Andrei Ershov Second International Memorial Conference", title = "Perspectives of System Informatics. Andrei Ershov Second International Memorial Conference", year = "1996", OPTeditor = "", OPTvolume = "", OPTnumber = "", OPTseries = "", organization = "A.P. Ershov Institute of Informatics Systems, Siberian Division of Russian Academy of Sciences, Novosibirsk, Russia", OPTaddress = "", OPTmonth = "", OPTnote = "", OPTannote = ""} @ARTICLE{ Ambriola:1985:Symbolic, AUTHOR = "V. Ambriola and others", TITLE = "Symbolic Semantics and Program Reduction", JOURNAL = TSE, YEAR = "1985", MONTH = "August", VOLUME = "SE-11", NUMBER = "8", PAGES = "784-794", ANNOTE = "A class of symbolic constants is introduced to represent subsets of recursively defined data domains. The data type operations are extended to cope with symbolic constants, thus obtaining an intensional calculus for sets. The ideas and results are exploited in a system for symbolic evaluation of functional programs."} @Unpublished{Andersen:1990:BindingTimeAnalysis, author = "L.O. Andersen and C. Mossin", title = "Binding Time Analysis via Type Inference", note = "Student Project 90-10-12, DIKU, University of Copenhagen, Denmark", year = "1990", month = "October"} @MastersThesis{Andersen:1991:CProgram, author = "L.O. Andersen", title = "C Program Specialization", school = DIKU, year = "1991", month = "December", note = "Student Project 91-12-17"} @InProceedings{Andersen:1992:PartialEvaluation, author = "L.O. Andersen", title = "Partial Evaluation of {C} and Automatic Compiler Generation (Extended Abstract)", booktitle = "Compiler Construction, Paderborn, Germany, October 1992 (Lecture Notes in Computer Science, vol. 641)", year = "1992", editor = "U. Kastens and P. Pfahler", pages = "251-257", publisher = S-V, annote = "The paper contains an algorithmic description of a self-applicable partial evaluator for a subset of C"} @InProceedings{Andersen:1992:SpeedupAnalysis, author = "L.O. Andersen and C.K. Gomard", title = "Speedup Analysis in Partial Evaluation (Preliminary Results)", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "1-7", note = "", annote = "Speedup in partial evaluation is considered. It is proved that superlinear speedup is impossible, and a simple but pragmatically successful speedup analysis is described"} @InProceedings{Andersen:1993:Binding-TimeAnalysis, author = "L.O. Andersen", title = "Binding-Time Analysis and the Taming of {C} Pointers", booktitle = PEPM93, year = "1993", pages = "47-58", publisher = ACM, OPTnote = ""} @phdthesis{andersen:thesis, author = "L.O. Andersen", title = "Program Analysis and Specialization for the {C} Programming Language", school = DIKU, year = "1994", note = "DIKU Research Report 94/19", OPTannote = "" } @TechReport{Andersen:1995:PartialEvaluation, author = "P.H. Andersen", title = "Partial Evaluation Applied to Ray Tracing", institution = DIKU, year = "1995", type = "DIKU Research Report", number = "95/2", OPTnote = "", OPTannote = "" } @InProceedings{Aravindan:1992:PartialDeduction, author = "C. Aravindan and P.M. Dung", title = "Partial Deduction of Logic Programs wrt Well-Founded Semantics", booktitle = "Algebraic and Logic Programming. Third International Conference, Volterra, Italy, September 1992 (Lecture Notes in Computer Science, vol. 632)", year = "1992", editor = "H. Kirchner and G. Levi", pages = "384-402", publisher = S-V, OPTnote = ""} @InProceedings{Attali:1988:CompilingTypol, author = "I. Attali", title = "Compiling Typol with Attribute Grammars", booktitle = "Programming Language Implementation and Logic Programming, Orl{\'e}ans, France, May 1988 (Lecture Notes in Computer Science, vol. 348)", year = "1988", editor = "P. Deransart and B. Lorho and J. Malusy{\'n}ski", pages = "252-272", publisher = S-V, OPTnote = ""} @InProceedings{Au:1991:GeneratingCompiled, author = "W.Y. Au and D. Weise and S. Seligman", title = "Generating Compiled Simulations Using Partial Evaluation", booktitle = "28th Design Automation Conference", year = "1991", OPTeditor = "", pages = "205-210", publisher = IEEE, month = "June", OPTnote = ""} @TechReport{Axford:1987:PartialEvaluation, author = "T. H. Axford", title = "Partial Evaluation in a Functional Language", institution = "University of Birmingham, Department of Computer Science", year = "1987", number = "CSR-87-9", month = "November"} BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB @INCOLLECTION{ Babich:1972:DecAS, AUTHOR = "G.Kh. Babich", TITLE = "{DecAS} --- A Programming System for Simulation of Incomplete Information Processes", BOOKTITLE = "Computer Automation of Research", PAGES = "41-45", PUBLISHER = CCN, YEAR = "1972", NOTE = "(In Russian)", ANNOTE = "The design principles of the DecAS programming language are briefly described."} @ARTICLE{ Babich:1972:Syntax, AUTHOR = "G.Kh. Babich and A.G. Arkadjev", TITLE = "Syntax and Interpretation Algorithms for {DecAS} Algorithmic Language Primitives", JOURNAL = "VNIKI ``Tsvetmetavtomatika'' Woks", YEAR = "1972", NOTE = "(In Russian)", NUMBER = "4", PAGES = "97-108", ANNOTE = "The set of DecAS programming language primitives and the interpretation algorithms in the programming system which implements this language are described."} @ARTICLE{ Babich:1974:AnAlgorithmic, AUTHOR = "G.Kh. Babich", TITLE = "An Algorithmic Language Interpreter. {A}uthor's Certificate {N} 446882", JOURNAL = "The Official Journal of Discoveries, Inventions, Trade Marks and Designs (USSR)", YEAR = "1974", NOTE = "(In Russian)", NUMBER = "38", ANNOTE = "The computer architecture which implements the DecAS programming language interpretation algorithms in hardware is described. The language is intended for mixed computation."} @ARTICLE{ Babich:1974:TheDecAS, AUTHOR = "G.Kh. Babich", TITLE = "The {DecAS} Programming Language for Decision Making in Incomplete Information Conditions and Its Interpretation Algorithms", JOURNAL = "Kybernetika", YEAR = "1974", NOTE = "(In Russian)", NUMBER = "2", PAGES = "61-71", ANNOTE = "The syntax and semantics of the DecAS programming language, its interpretation algorithms, and the list-structure memory of the interpreter are described. An example of a DecAS program is given."} @BOOK{ Babich:1975:Software, AUTHOR = "G.Kh. Babich", TITLE = "Software for ``Non-Ferrous Metallurgy'' Management Information System with Incomplete Information", PUBLISHER = "Metallurgia Publ. House, Moscow, USSR", YEAR = "1975", NOTE = "(In Russian)", ANNOTE = "The problems of constructing an automatic system which implements a man-machine dialogue for decision making under incomplete information conditions are discussed. The DecAS language for incomplete information systems and the programming methods for this language are described."} @ARTICLE{ Babich:1976:TheINCOL, AUTHOR = "G.Kh. Babich and L.F. Sternberg and T.I. Youganova", TITLE = "The {INCOL} Programming Language for Incomplete Information Computation", JOURNAL = "Programmirovanie", YEAR = "1976", NOTE = "(In Russian)", NUMBER = "4", PAGES = "24-32", ANNOTE = "The syntax and semantics of the programming language Incol are described. Incol is a descendant of the DecAS language previously published. An example of an Incol program is considered."} @ARTICLE{ Babich:1982:TheINCOL, AUTHOR = "G.Kh. Babich and others", TITLE = "The {INCOL} Programming Language for Incomplete Information Computation", JOURNAL = "Upravlyayushchie Sistemy i Machiny (Control Systems and Machines)", YEAR = "1982", NOTE = "(In Russian)", NUMBER = "4", PAGES = "97-101", ANNOTE = "The development of a programming system for implementing the Incol language is described. Incol is intended for computation with incomplete information."} @ARTICLE{ Babich:1986:DecisionMaking, AUTHOR = "G.Kh. Babich", TITLE = "Decision Making by Analysis of Decision Trees with Incomplete Information", JOURNAL = "Kybernetika", YEAR = "1986", NOTE = "(In Russian)", NUMBER = "5", PAGES = "113-120", ANNOTE = "A decision making method using a decision tree analysis is discussed. The method is intended for decision making with incomplete information. The design principles of the supporting programming system (written in Incol) are described."} @InProceedings{Baier:1994:PartialEvaluation, author = "R. Baier and R. Gl{\"u}ck and R. Z{\"o}chling", title = "Partial Evaluation of Numerical Programs in {Fortran}", booktitle = PEPM94, year = "1994", pages = "119-132", note = ""} @Article{Baker-Finch:1995:TypeTheory, author = "C.A. Baker-Finch", title = "Type Theory and Projections for Static Analysis", journal = LASC, year = "1995", volume = "8", number = "3", pages = "267-285", month = "September", OPTnote = "", OPTannote = ""} @ARTICLE{ Barzdin:1987:Experiments, AUTHOR = "G. Barzdin", TITLE = "Experiments with Mixed Computation", JOURNAL = "Programmirovanie", YEAR = "1987", NOTE = "(In Russian)", NUMBER = "1", PAGES = "30-43", ANNOTE = "A method of compiler construction from an interpreter and the experiments with mixed computation which have led to this method are described."} @INPROCEEDINGS{ Barzdin:1988:MixedComputation, AUTHOR = "G. Barzdin", TITLE = "Mixed Computation and Compiler Basis", BOOKTITLE = PEMC, EDITOR = BEJ, PUBLISHER = N-H, PAGES = "15-26", YEAR = "1988", ANNOTE = "A two-phase method of constructing a compiler from an interpreter is described. In the first phase, a so-called compiler basis is obtained, and in the second phase the compiler proper is obtained from the compiler basis by means of a global analysis."} @TechReport{Barzdin:1988:MixedComputationAndCompilation, author = "G.Ja. Barzdin and M.A. Bulyonkov", title = "Mixed Computation and Compilation: Linearisation and Decomposition of a Compiler", institution = "Computing Center, Siberian Branch of the USSR Academy of Sciences", year = "1988", type = "Preprint", number = "791", note = "(In Russian)"} @InProceedings{Barzdin:1988:MixedComputationAsATool, author = "G.Ja. Barzdin and M.A. Bulyonkov", title = "Mixed Computation as a Tool for Extracting Compilation Phases", booktitle = "Methods of Compilation and Program Construction. All-Union Conference, Novosibirsk", year = "1988", pages = "21-23", note = "(In Russian)."} @Article{Barzdin:1990:PartialEvaluation, author = "G.Ya. Barzdin and M.A. Bulyonkov", title = "Partial Evaluation and Program Decomposition", journal = "Programming and Computer Software", year = "1990", volume = "16", number = "1", pages = "1-10", note = "Translation of Programmirovanie 16, 1 (1990) 50-61"} @InProceedings{Bechet:1992:PartialEvaluation, author = "D. Bechet", title = "Partial Evaluation of Interaction Nets", booktitle = WSA92, year = "1992", editor = "M. Billaud and others", pages = "331-338", publisher = "Rennes:\ IRISA", OPTnote = ""} @ARTICLE{ Beckman:1976:APartial, AUTHOR = "L. Beckman and others", TITLE = "A Partial Evaluator, and Its Use as a Programming Tool", JOURNAL = AI, YEAR = "1976", VOLUME = "7", NUMBER = "4", PAGES = "319-357", ANNOTE = "The paper describes partial evaluation as a practical tool in program development. It defines the concepts and discusses a number of applications. A partial evaluator program Redfun and a partial evaluator compiler Redcompile are described."} @INCOLLECTION{ Belostotsky:1981:Implementing, AUTHOR = "A.N. Belostotsky and L.L. Sushentsov", TITLE = "Implementing Mixed Computation", BOOKTITLE = "Compilation Methods", PUBLISHER = CCN, YEAR = "1981", NOTE = "(In Russian)", ANNOTE = "The realization of mixed computation of programs in the stack computer Elbrus is described. The tagged memory of this computer is beneficial in making this procedure efficient."} @ARTICLE{ Belousov:1978:OnThe, AUTHOR = "A.I. Belousov", TITLE = "On the Algorithm Parallelization Problem", JOURNAL = "Programmirovanie", YEAR = "1978", NOTE = "(In Russian)", NUMBER = "5", PAGES = "53-61", ANNOTE = "A theorem about equivalent transformation from sequential composition of normal algorithms to parallel composition of these algorithms is proved on the basis of the notion of compatible normal algorithms."} @INCOLLECTION{ Belousov:1982:AnAnalysis, AUTHOR = "A.I. Belousov", TITLE = "An Analysis of Parallelism in Compilation Process for a Certain Language Family", BOOKTITLE = "Parallel Programming and High-Performance Systems", PAGES = "24-26", PUBLISHER = "Naukova Dumka, Kiev, USSR", YEAR = "1982", NOTE = "(In Russian)", ANNOTE = "A model of mixed computation (i.e., a model of compatible E-operators) is developed in which a special phase of 'unsuspending' of basic semantic items is inserted between parallel compilation and parallel implementation. The finiteness conditions of this phase which put certain topological constraints on the input domain are investigated."} @TechReport{Benkerimi:1989:AProcedure, author = "K. Benkerimi and J.W. Lloyd", title = "A Procedure for the Partial Evaluation of Logic Programs", institution = "Department of Computer Science, University of Bristol", year = "1989", number = "TR-89-04", address = "Bristol, England", month = "May"} @InProceedings{Benkerimi:1990:APartial, author = "K. Benkerimi and J.W. Lloyd", title = "A Partial Evaluation Procedure for Logic Programs", booktitle = "Logic Programming: Proceedings of the 1990 North American Conference, Austin, Texas, October 1990", year = "1990", editor = "S. Debray and M. Hermenegildo", pages = "343-358", publisher = MIT} @MastersThesis{Berlin:1989:ACompilationStrategy, author = "A.A. Berlin", title = "A Compilation Strategy for Numerical Programs Based on Partial Evaluation", school = "MIT Artificial Intelligence Laboratory", year = "1989", OPTaddress = "", month = "July", note = "MIT Technical Report AI-TR 1144"} @InProceedings{Berlin:1990:PartialEvaluation, author = "A.A. Berlin", title = "Partial Evaluation Applied to Numerical Computation", booktitle = "1990 ACM Conference on Lisp and Functional Programming, Nice, France", year = "1990", pages = "139-150", publisher = ACM, OPTnote = ""} @Article{Berlin:1990:CompilingScientific, author = "A. Berlin and D. Weise", title = "Compiling Scientific Code Using Partial Evaluation", journal = "IEEE Computer", year = "1990", volume = "23", number = "12", pages = "25-37", month = "December", note = ""} @InProceedings{Berlin:1994:PartialEvaluation, author = "A.A. Berlin and R.J. Surati", title = "Partial Evaluation for Scientific Computing: The Supercomputer Toolkit Experience", booktitle = PEPM94, year = "1994", pages = "133-141", note = ""} @MastersThesis{Birkedal:1993:PartialEvaluation, author = "L. Birkedal and M. Welinder", title = "Partial Evaluation of {Standard} {ML}", school = DIKU, year = "1993", OPTmonth = "", note = "DIKU Research Report 93/22", annote = "A handwritten compiler generator for the Standard ML Core language is constructed. It can be used for partial evaluation and compiler generation, yet avoids the problems with self-application in a strongly typed language."} @InProceedings{Birkedal:1994:TypedHigher-Order, author = "L. Birkedal and M. Welinder", title = "Binding-Time Analysis for {Standard} {ML}", booktitle = PEPM94, year = "1994", pages = "61-71", note = ""} @InProceedings{Birkedal:1994:Hand-WritingProgram, author = "L. Birkedal and M. Welinder", title = "Hand-Writing Program Generator Generators", editor = "M.V. Hermenegildo and J. Penjam", pages = "198-214", booktitle = "Programming Language Implementation and Logic Programming, 6th International Symposium, PLILP'94, Madrid, Spain, September, 1994. (Lecture Notes in Computer Science, Vol. 844)", year = "1994", publisher = S-V, OPTnote = "", OPTannote = ""} @Article{Birkedal:1995:Binding-Time, author = "L. Birkedal and M. Welinder", title = "Binding-Time Analysis for {Standard} {ML}", journal = LASC, year = "1995", volume = "8", number = "3", pages = "191-208", month = "September", OPTnote = "", OPTannote = ""} @BOOK{ Bjoerner:1987:WorkshopCompendium, EDITOR = BEJ, TITLE = "Workshop Compendium, Workshop on Partial Evaluation and Mixed Computation, Gl. Avern{\ae}s, Denmark, October 1987", PUBLISHER = "Department of Computer Science, Technical University of Denmark, Lyngby, Denmark", YEAR = "1987", ANNOTE = "This is the preliminary proceedings of the workshop on Partial Evaluation and Mized Computation."} @Book{Bjoerner:1988:PartialEvaluation, title = "Partial Evaluation and Mixed Computation. Proceedings of the IFIP TC2 Workshop, Gammel Avern{\ae}s, Denmark, October 1987", publisher = N-H, year = "1988", editor = BEJ, optnote = ""} @InProceedings{Blazy:1993:PartialEvaluation , Author="S. Blazy and P. Facon", Title="Partial evaluation for the understanding of Fortran programs", BookTitle="Software Engineering and Knowledge Engineering, San Francisco, California, June 1993", Pages="517-525", Year="1993", annote="We describe a technique and a tool supporting partial evaluation of Fortran programs, i.e. their specialization for specific values of their input variables. We aim at understanding old programs, which have become very complex due to numerous extensions. From a given Fortran program and these values of its input variables, the tool provides a simplified program, which behaves like the initial one for specific values. This tool uses mainly constant propagation and simplification of alternatives to one of their branches. The tool is specified as inference rules and operates by induction on the Fortran abstract syntax." } @InProceedings{Blazy:1996:AnAutomatic, author = "S. Blazy and P. Facon", title = "An Automatic Interprocedural Analysis for the Understanding of Scientific Application Programs", crossref = "Danvy:1996:PartialEvaluation", pages = "1-16"} @TECHREPORT{ Bloch:1984:Source, AUTHOR = "C. Bloch", TITLE = "Source-to-Source Tranformations of Logic Programs", INSTITUTION = "Weizmann Institute of Science", ADDRESS = "Rehovot, Israel", YEAR = "1984", TYPE = "Report", NUMBER = "CS84-22", ANNOTE = "A brief survey of the literature on partial evaluation and other optimization techniques for Prolog is given, and a restricted Prolog partial evaluator is presented. A number of transformations of Concurrent Prolog programs into Flat Concurrent Prolog are presented."} @Article{Bol:1993:LoopChecking, author = "R. Bol", title = "Loop Checking in Partial Deduction", journal = "Journal of Logic Programming", year = "1993", volume = "16", number = "1, 2", pages = "25-46", OPTnote = ""} @MASTERSTHESIS{ Bondorf:1987:Towards:Thesis, AUTHOR = "A. Bondorf", TITLE = "Towards a Self-Applicable Partial Evaluator for Term Rewriting Systems", SCHOOL = DIKU, YEAR = "1987", MONTH = "July", ANNOTE = "The subject of the paper \cite{Bondorf:1988:Towards:WPEMC} with the same title is dealt with in greater detail. In addition to this, efficient compilation of the pattern matching in the language Terse is discussed and implemented."} @TECHREPORT{Bondorf:1988:BindingTimeAnalysis, AUTHOR = "A. Bondorf and N.D. Jones and T. Mogensen and P. Sestoft", TITLE = "Binding Time Analysis and the Taming of Self-Application", INSTITUTION = DIKU, TYPE = "Draft", YEAR = "1988", MONTH = "August"} @INPROCEEDINGS{ Bondorf:1988:Towards:WPEMC, AUTHOR = "A. Bondorf", TITLE = "Towards a Self-Applicable Partial Evaluator for Term Rewriting Systems", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "27-50", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "A fully automatic experimental partial evaluator is described. It handles partially static data and uses two-phase partial evaluation (binding time analysis and function specialization). It is based on a restricted term rewriting system language with call-by-value, Terse, and has been implemented in part. Partial evaluation of an interpreter and a self-interpreter is performed and the results are discussed."} @INPROCEEDINGS{Bondorf:1989:ASelf-Applicable, AUTHOR = "A. Bondorf", TITLE = "A Self-Applicable Partial Evaluator for Term Rewriting Systems", BOOKTITLE = "TAPSOFT '89. Theory and Practice of Software Development, Barcelona, Spain, March 1989 (Lecture Notes in Computer Science, vol. 352)", EDITOR = "J. Diaz and F. Orejas", PUBLISHER = S-V, PAGES = "81-95", YEAR = "1989"} @Inproceedings{Bondorf:1990:AutomaticAutoprojection:ESOP, author = "A. Bondorf", title = "Automatic Autoprojection of Higher Order Recursive Equations", booktitle = "ESOP '90. 3rd European Symposium on Programming, Copenhagen, Denmark, May 1990 (Lecture Notes in Computer Science, vol. 432)", editor = "N.D. Jones", publisher = S-V, pages = "70-87", year = "1990", month = "May", note = "Revised version in \cite{Bondorf:1991:AutomaticAutoprojection:SCP}"} @TechReport{Bondorf:1990:AutomaticAutoprojection:DIKU, author = "A. Bondorf and O. Danvy", title = "Automatic Autoprojection of Recursive Equations with Global Variables and Abstract Data Types", institution = DIKU, year = "1990", number = "90/4", note = "Revised version in \cite{Bondorf:1991:AutomaticAutoprojection}."} @TechReport{Bondorf:1990:AnExperiment, author = "A. Bondorf and F. Frauendorf and M. Richter", title = "An Experiment in Automatic Self-Applicable Partial Evaluation of {Prolog}", institution = "Lehrstuhl Informatik V, University of Dortmund, Germany", year = "1990", number = "335", note = ""} @PhDThesis{Bondorf:1990:Self-Applicable, author = "A. Bondorf", title = "Self-Applicable Partial Evaluation", school = DIKU, year = "1990", note = "Revised version: DIKU Report 90/17"} @Unpublished{Bondorf:1990:Logimix, author = "A. Bondorf and T. Mogensen", title = "Logimix: A Self-Applicable Partial Evaluator for {P}rolog", note = DIKU, year = "1990", month = "May"} @TechReport{Bondorf:1991:SimilixManual, author = "A. Bondorf", title = "Similix Manual, System Version 3.0", institution = DIKU, year = "1991", number = "91/9", OPTnote = ""} @TechReport{Bondorf:1991:SimilixManual:4, author = "A. Bondorf", title = "Similix Manual, System Version 4.0", institution = DIKU, year = "1991", OPTtype = "", OPTnumber = "", OPTnote = ""} @InProceedings{Bondorf:1991:CompilingLaziness, author = "A. Bondorf", title = "Compiling Laziness by Partial Evaluation", booktitle = "Functional Programming, Glasgow 1990", year = "1991", editor = "Peyton Jones, S.L. and G. Hutton and Kehler Holst, C.", pages = "9-22", publisher = S-V, OPTnote = ""} @Article{Bondorf:1991:AutomaticAutoprojection, author = "A. Bondorf and O. Danvy", title = "Automatic Autoprojection of Recursive Equations with Global Variables and Abstract Data Types", journal = SCP, year = "1991", volume = "16", pages = "151-195", OPTnote = ""} @Article{Bondorf:1991:AutomaticAutoprojection:SCP, author = "A. Bondorf", title = "Automatic Autoprojection of Higher Order Recursive Equations", journal = SCP, year = "1991", volume = "17", pages = "3-34", OPTnote = ""} @InProceedings{Bondorf:1992:ImprovingBinding, author = "A. Bondorf", title = "Improving Binding Times without Explicit CPS-Conversion", booktitle = "1992 ACM Conference in Lisp and Functional Programming, San Francisco, California (Lisp Pointers, vol. V, no. 1, 1992)", year = "1992", pages = "1-10", publisher = ACM, OPTnote = ""} @Article{Bondorf:1993:EfficientAnalyses, author = "A. Bondorf and J. J{\o}rgensen", title = "Efficient Analyses for Realistic Off-Line Partial Evaluation", journal = "Journal of Functional Programming", year = "1993", volume = "3", number = "3", pages = "315-346", month = "July", note = ""} @TechReport{Bondorf:1993:EfficientAnalyses:DIKU, author = "A. Bondorf and J. J{\o}rgensen", title = "Efficient Analyses for Realistic Off-Line Partial Evaluation", institution = DIKU, year = "1993", number = "93/4", annote = "Extended version of \cite{Bondorf:1993:EfficientAnalyses}", OPTnote = ""} @InProceedings{Bondorf:1994:ImprovingCPS, author = "A. Bondorf and D. Dussart", title = "Improving CPS-Based Partial Evaluation: Writing Cogen by Hand", booktitle = PEPM94, year = "1994", pages = "1-9", note = ""} @TECHREPORT{Booth:1986:Multiple, AUTHOR = "D. Booth", TITLE = "Multiple Strongly Typed Evaluation Phases", INSTITUTION = "University of Southern California/Information Sciences Institute, California", TYPE = "ISI Research Report", NUMBER = "ISI/RR-86-165", YEAR = "1986", MONTH = "October"} @Article{Bossi:1990:AMethod, author = "A. Bossi and N. Cocco and S. Dulli", title = "A Method for Specializing Logic Programs", journal = TOPLAS, year = "1990", volume = "12", number = "2", pages = "253-302", month = "April", OPTnote = ""} @Article{Bossi:1993:BasicTransformation, author = "A. Bossi and N. Cocco", title = "Basic Transformation Operations which Preserve Computer Answer Substitutions of Logic Programs", journal = "Journal of Logic Programming", year = "1993", volume = "16", number = "1, 2", pages = "47-87", OPTnote = ""} @InProceedings{Boulanger:1992:DeepLogic, author = "D.Y. Boulanger", title = "Deep Logic Program Transformation Using Abstract Interpretation", booktitle = "Logic Programming, Irkutsk, Russia, September 1990, and St. Petersburg, Russia, September 1992 (Lecture Notes in Artificial Intelligence, vol. 592)", year = "1992", editor = "A. Voronkov", pages = "79-101", publisher = S-V, OPTnote = ""} @Article{Boyer:75:ProvingTheorems, author = "R.S. Boyer and J.S. Moore", title = "Proving Theorems about {Lisp} Functions", journal = JACM, year = "1975", volume = "22", number = "1", pages = "129-144", month = "January", OPTnote = ""} @TechReport{Broda:1991:PartiallyEvaluating, author = "K. Broda and B.T. Ng", title = "Partially Evaluating the Completed Program", institution = "Department of Computing, Imperial College, London, England", year = "1991", type = "Research Report", number = "91/43", OPTnote = ""} @InProceedings{Bruynooghe:1991:AGeneral, author = "M. Bruynooghe and D. de Schreye and B. Martens", title = "A General Criterion for Avoiding Infinite Unfolding during Partial Deduction of Logic Programs", booktitle = "Logic Programming: International Symposium", year = "1991", editor = "V. Saraswat and K. Ueda", pages = "117-131", publisher = MIT, OPTnote = ""} @Article{Bruynooghe:1992:AGeneral, author = "M. Bruynooghe and D. de Schreye and B. Martens", title = "A General Criterion for Avoiding Infinite Unfolding", journal = NGC, year = "1992", volume = "11", number = "1", pages = "47-79", OPTnote = ""} @Article{Bry:1990:QueryEvaluation, author = "F. Bry", title = "Query Evaluation in Recursive Databases: Bottom-Up and Top-Down Reconciled", journal = "Data {\&} Knowledge Engineering", year = "1990", volume = "5", number = "4", pages = "289-312", OPTnote = ""} @InProceedings{Bugliesi:1989:Partial, author = "M. Bugliesi and F. Rossi", title = "Partial Evaluation in {Prolog}: Some Improvements about Cut", booktitle = "Logic Programming: Proceedings of the North American Conference 1989, Cleveland, Ohio, October 1989", year = "1989", editor = "E.L. Lusk and R.A. Overbeek", pages = "645-660", publisher = MIT} @InProceedings{Bugliesi:1990:Partial, author = "M. Bugliesi and E. Lamma and P. Mello", title = "Partial Evaluation for Hierarchies of Logic Theories", booktitle = "Logic Programming: Proceedings of the 1990 North American Conference, Austin, Texas, October 1990", year = "1990", editor = "S. Debray and M. Hermenegildo", pages = "359-376", publisher = MIT} @Article{Bugliesi:1993:PartialDeduction, author = "M. Bugliesi and E. Lamma and P. Mello", title = "Partial Deduction for Structured Logic Programming", journal = "Journal of Logic Programming", year = "1993", volume = "16", number = "1, 2", pages = "89-122", OPTnote = ""} @INPROCEEDINGS{ Bulyonkov:1988:ATheoretical, AUTHOR = "M.A. Bulyonkov", TITLE = "A Theoretical Approach to Polyvariant Mixed Computation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "51-64", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "Different approaches to polyvariant mixed computation are described and their equivalence is proved. The method is based on the concept of an arbitrary (general) environment instead of partially known input data."} @ARTICLE{ Bulyonkov:1984:Polyvariant, AUTHOR = "M.A. Bulyonkov", TITLE = "Polyvariant Mixed Computation for Analyzer Programs", JOURNAL = Acta, YEAR = "1984", VOLUME = "21", PAGES = "473-484", ANNOTE = "An algorithm for mixed computation of low-level non-structured imperative programs is presented. The algorithm is shown to terminate and produce correct results when applied to the class of so-called analyzer programs, a definition of which is also given."} @ARTICLE{ Bulyonkov:1985:MixedComputation:Russian, AUTHOR = "M.A. Bulyonkov", TITLE = "Mixed Computation for Programs over Finitely Defined Memory with Strict Partitioning", JOURNAL = "Doklady Akademii Nauk SSSR", YEAR = "1985", NOTE = "(In Russian)", VOLUME = "285", NUMBER = "5", PAGES = "1033-1037", ANNOTE = "The paper presents a new algorithm of mixed computation for the class of analyzer programs: those satisfying that the memory can be split into two parts --- available memory and reserved memory --- such that for every initial state of available memory, the number of states of the available memory does not depend on reserved memory."} @ARTICLE{ Bulyonkov:1985:MixedComputations, AUTHOR = "M.A. Bulyonkov", TITLE = "Mixed Computations for Programs over Finitely Defined Memory with Strict Partitioning", JOURNAL = SMD, YEAR = "1985", VOLUME = "32", NUMBER = "3", PAGES = "807-811", ANNOTE = "English translation of \cite{Bulyonkov:1985:MixedComputation:Russian}."} @INCOLLECTION{ Bulyonkov:1985:Obtaining, AUTHOR = "M.A. Bulyonkov", TITLE = "Obtaining Object Code from a One-Loop Interpreter", BOOKTITLE = "Mathematical Theory of Programming", PAGES = "158-168", PUBLISHER = CCN, YEAR = "1985", NOTE = "(In Russian)", ANNOTE = "A class of imperative programs, namely stack analyzer programs, is defined. It is shown that object code may be produced by projection and further optimizing transformations. In particular, it is shown how an interpreter stack can be split into compilation stack and run-time stack."} @INCOLLECTION{ Bulyonkov:1986:AComputer, AUTHOR = "M.A. Bulyonkov", TITLE = "A Computer Experiment with Mixed Computation Autoprojector", BOOKTITLE = "Automation of Programming System Production", PUBLISHER = "Polytechnical Institute", ADDRESS = "Tallin, USSR", PAGES = "11-13", YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "The paper describes the results of computer experiments with an autoprojector. The object code of a program, a compiler for a toy language, and a compiler generator were automatically generated."} @INCOLLECTION{ Bulyonkov:1986:HowDo:Russian, AUTHOR = "M.A. Bulyonkov and A.P. Ershov", TITLE = "How Do Ad-Hoc Compiler Constructs Appear in Universal Mixed Computation Processes?", BOOKTITLE = "Applied Logic, Computation Systems, vol. 116", PUBLISHER = "Institute of Mathematics", ADDRESS = "Novosibirsk, USSR", YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "An autoprojector for a simple imperative language is described. The autoprojector is powerful enough to formally produce a compiler generator. The essence of specific compilation constructs such as symbol table, control stack, code generation patterns etc. is investigated."} @INPROCEEDINGS{ Bulyonkov:1988:HowDo, AUTHOR = "M.A. Bulyonkov and A.P. Ershov", TITLE = "How Do Ad-Hoc Compiler Constructs Appear in Universal Mixed Computation Processes?", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "65-81", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "English version of \cite{Bulyonkov:1986:HowDo:Russian}."} @InCollection{Bulyonkov:1988:MixedComputationTransformations, author = "M.A. Bulyonkov", title = "Mixed Computation Transformations", booktitle = "", publisher = "Computing Center, Siberian Branch of the USSR Academy of Sciences", year = "1988", editor = "A.P. Ershov", pages = "", address = "Novosibirsk, USSR", note = "(In Russian)"} @InCollection{Bulyonkov:1989:GeneralisedMixed, author = "M.A. Bulyonkov", title = "Generalised Mixed Computation Exemplified on Programs with Stacks", booktitle = "Methods of Theoretical and Experimental Computer Science", publisher = "Computing Center, USSR Academy of Sciences, Siberian Division", year = "1989", editor = "V.E. Kotov", pages = "8-22", address = "Novosibirsk, USSR"} @InProceedings{Bulyonkov:1989:GeneralisedMixed:Tallinn, author = "M.A. Bulyonkov", title = "Generalised Mixed Computation Exemplified on Programs with Stacks", booktitle = "Informatics '89, Soviet-French Symposium, Tallinn, Estonia", year = "1989", OPTeditor = "", pages = "20-35", note = ""} @Article{Bulyonkov:1990:MixedComputation, author = "M.A. Bulyonkov", title = "Mixed Computation and Compilation: New Approaches to Old Problems", journal = "Theoretical Computer Science", year = "1990", volume = "71", pages = "209-226", OPTnote = ""} @InCollection{Bulyonkov:1991:FromPartial, author = "M.A. Bulyonkov", title = "From Partial Evaluation to Mixed Computation", booktitle = "Current Topics in Informatics Systems Research", publisher = "Institute of Informatics Systems, Siberian Division of the Academy of Sciences, USSR", year = "1991", editor = "V. Kotov", pages = "9-23", OPTnote = ""} @Article{Bulyonkov:1991:FromPartial:TCS, author = "M.A. Bulyonkov", title = "From Partial Evaluation to Mixed Computation", journal = TCS, year = "1991", volume = "90", number = "1", pages = "47-60", note = "Also in D.\ Bj{\o}rner and V.\ Kotov: Images of Programming, North-Holland, 1991"} @InProceedings{Bulyonkov:1993:ExtractingPolyvariant, author = "M.A. Bulyonkov", title = "Extracting Polyvariant Binding Time Analysis from Polyvariant Specializer", booktitle = PEPM93, year = "1993", pages = "59-65", publisher = ACM, OPTnote = ""} @InProceedings{Bulyonkov:1996:PracticalAspects, author = "M.A. Bulyonkov and D.V. Kochetov", title = "Practical Aspects of Specialization of {Algol}-like Programs", crossref = "Danvy:1996:PartialEvaluation", pages = "17-32"} @Article{Burstall:77:ATransformation, author = "R.M. Burstall and J. Darlington", title = "A Transformation System for Developing Recursive Programs", journal = JACM, year = "1977", volume = "24", number = "1", pages = "44-67", month = "January", OPTnote = ""} CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC @InCollection{Carriero:1990:TupleAnalysis, author = "N. Carriero and D. Gelernter", title = "Tuple Analysis and Partial Evaluation Strategies in the {Linda} Precompiler", booktitle = "Languages and Compilers for Parallel Computing", publisher = "London:\ Pitman", year = "1990", editor = "D. Gelernter and A. Nicolau and D. Padua", chapter = "7", pages = "114-125", OPTnote = ""} @InProceedings{Chan:1989:ATreatment, author = "D. Chan and M. Wallace", title = "A Treatment of Negation during Partial Evaluation", booktitle = "Meta-Programming in Logic Programming", year = "1989", editor = "H. Abramson and M.H. Rogers", pages = "299-318", publisher = MIT} @InProceedings{Cheng:1989:Complete, author = "M.H.M. Cheng and M.H. {van Emden} and P.A. Strooper", title = "Complete Sets of Frontiers in Logic-Based Program Transformation", booktitle = "Meta-Programming in Logic Programming", year = "1989", editor = "H. Abramson and M.H. Rogers", pages = "283-297", publisher = "MIT Press"} @InProceedings{Chin:1996:SynchronizationAnalyses, author = "W.-N. Chin and S.-C. Khoo and P. Thiemann", title = "Synchronization Analyses for Multiple Recursion Parameters", crossref = "Danvy:1996:PartialEvaluation", pages = "33-53"} @INPROCEEDINGS{ Codish:1986:Compiling, AUTHOR = "M. Codish and E. Shapiro", TITLE = "Compiling Or-Parallelism into And-Parallelism", EDITOR = "E. Shapiro", BOOKTITLE = "Third International Conference on Logic Programming, London, United Kingdom (Lecture Notes in Computer Science, vol. 225)", PUBLISHER = S-V, YEAR = "1986", NOTE = "Also in New Generation Computing 5 (1987) 45-61", PAGES = "283-297", ANNOTE = " A general method for compiling or-parallelism into and-parallelism is presented. An interpreter for an and/or-parallel subset of the language induces a source-to-source transformation from the full language into the and-parallel subset."} @InProceedings{Colby:1991:AnImplementation, author = "C. Colby and P. Lee", title = "An Implementation of Parameterized Partial Evaluation", booktitle = JTASPEFL, year = "1991", editor = "M. Billaud and others", pages = "82-89", publisher = "Rennes:\ IRISA", OPTnote = ""} @TechReport{Colby:1992:AModular, author = "C. Colby and P. Lee", title = "A Modular Implementation of Partial Evaluation", institution = "School of Computer Science, Carnegie Mellon University", year = "1992", number = "CMU-CS-92-123", month = "March", OPTnote = ""} @INPROCEEDINGS{ Consel:1988:NewInsights, AUTHOR = "C. Consel", TITLE = "New Insights into Partial Evaluation: The {S}chism Experiment", BOOKTITLE = "ESOP '88, 2nd European Symposium on Programming, Nancy, France, March 1988 (Lecture Notes in Computer Science, vol. 300)", EDITOR = "H. Ganzinger", PUBLISHER = S-V, PAGES = "236-246", YEAR = "1988", ANNOTE = "A self-applicable partial evaluator called Schism is presented. It is written in a first-order subset of Scheme, with syntactic extensions and an extensible set of primitives, and can handle certain forms of side-effects. User-defined annotations control unfolding and specialization during partial evaluation. Work towards automating the annotations is presented."} @Article{Consel:1989:PartialEvaluationOfPattern, author = "C. Consel and O. Danvy", title = "Partial Evaluation of Pattern Matching in Strings", journal = IPL, year = "1989", volume = "30", pages = "79-86", month = "January"} @PhDThesis{Consel:1989:AnalyseDeProgrammes, author = "C. Consel", title = "Analyse de programmes, Evaluation partielle et G\'en\'eration de compilateurs", school = "Universit\'e de Paris 6", year = "1989", address = "Paris, France", month = "June", note = "(In French)"} @InProceedings{Consel:1990:FromInterpreting:ESOP, author = "C. Consel and O. Danvy", title = "From Interpreting to Compiling Binding Times", booktitle = "ESOP '90. 3rd European Symposium on Programmong, Copenhagen, Denmark, May 1990 (Lecture Notes in Computer Science, vol. 432)", year = "1990", editor = "N. Jones", pages = "88-105", publisher = S-V, OPTnote = ""} @InProceedings{Consel:1990:BindingTimeAnalysis, author = "C. Consel", title = "Binding Time Analysis for Higher Order Untyped Functional Languages", booktitle = "1990 ACM Conference on Lisp and Functional Programming, Nice, France", year = "1990", pages = "264-272", publisher = ACM, OPTnote = ""} @TechReport{Consel:1990:PartialEvaluation, author = "C. Consel and O. Danvy", title = "Partial Evaluation in Parallel (Detailed Abstract)", institution = "Computer Science Department, Yale University", year = "1990", type = "Research Report", number = "820"} @InProceedings{Consel:1991:StaticAnd, author = "C. Consel and O. Danvy", title = "Static and Dynamic Semantics Processing", booktitle = "Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando, Florida", year = "1991", pages = "14-24", publisher = ACM, month = "January", note = ""} @InProceedings{Consel:1991:ParameterizedPartial, author = "C. Consel and S.C. Khoo", title = "Parameterized Partial Evaluation", booktitle = "SIGPLAN '91 Conference on Programming Language Design and Implementation, June 1991, Toronto, Canada (Sigplan Notices, vol. 26, no. 6, June 1991)", year = "1991", pages = "92-106", publisher = ACM, OPTnote = ""} @InProceedings{Consel:1991:EvaluationPartielle, author = "C. Consel and S.C. Khoo", title = "Parameterized Partial Evaluation", booktitle = JTASPEFL, year = "1991", editor = "M. Billaud and others", pages = "72-81", publisher = "Rennes:\ IRISA", note = "(In French)"} @InProceedings{Consel:1991:Semantics-Directed, author = "C. Consel and S.C. Khoo", title = "Semantics-Directed Generation of a {Prolog} Compiler", booktitle = "Programming Language Implementation and Logic Programming, 3rd International Symposium, PLILP '91, Passau, Germany, August 1991 (Lecture Notes in Computer Science, vol. 528)", year = "1991", editor = "J. Maluszy{\'n}ski and M. Wirsing", pages = "135-146", publisher = S-V, OPTnote = ""} @TechReport{Consel:1991:ParameterizedPartial:ExtendedVersion, author = "C. Consel and Khoo, S. C.", title = "Parameterized Partial Evaluation", institution = "Yale University", year = "1991", address = "New Haven, Connecticut", type = "Research Report", number = "865", note = "Extended version"} @InProceedings{Consel:1991:ForABetter, author = "C. Consel and O. Danvy", title = "For a Better Support of Static Data Flow", booktitle = "Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523)", year = "1991", editor = "J. Hughes", pages = "496-519", organization = "ACM", publisher = S-V, note = ""} @InProceedings{Consel:1992:AProgramming, author = "C. Consel and S. Pai", title = "A Programming Environment for Binding-Time Based Partial Evaluators", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "62-66", OPTnote = ""} @InProceedings{Consel:1993:IncrementalPartial, author = "C. Consel and C. Pu and J. Walpole", title = "Incremental Partial Evaluation: The Key to High Performance, Modularity and Portability in Operating Systems", booktitle = PEPM93, year = "1993", pages = "44--46", publisher = ACM, OPTnote = ""} @Article{Consel:1993:ParameterizedPartial, author = "C. Consel and S.C. Khoo", title = "Parameterized Partial Evaluation", journal = TOPLAS, year = "1993", volume = "15", number = "3", pages = "463-493", OPTnote = ""} @Article{Consel:1993:PartialEvaluation, author = "C. Consel and O. Danvy", title = "Partial Evaluation in Parallel", journal = "LISP and Symbolic Computation", year = "1993", volume = "5", number = "4", pages = "315-330", OPTnote = ""} @InProceedings{Consel:1993:PolyvariantBinding-Time, author = "C. Consel", title = "Polyvariant Binding-Time Analysis for Applicative Languages", booktitle = PEPM93, year = "1993", pages = "66-77", publisher = ACM, OPTnote = ""} @InProceedings{Consel:1993:Tutorial, author = "C. Consel and O. Danvy", title = "Tutorial Notes on Partial Evaluation", booktitle = "Twentieth ACM Symposium on Principles of Programming Languages, Charleston, South Carolina, January 1993", year = "1993", pages = "493-501", organization = "ACM", publisher = ACM, note = ""} @InProceedings{Consel:1996:AUniform, author = "C. Consel and L. Hornof and F. No{\"e}l and J. Noy{\'e} and N. Volanschi", title = "A Uniform Approach for Compile-Time and Run-Time Specialization", crossref = "Danvy:1996:PartialEvaluation", pages = "54-72"} @INCOLLECTION{ Coscia:1986:ObjectLevel, AUTHOR = "P. Coscia and others", TITLE = "Object Level Reflection of Inference Rules by Partial Evaluation", BOOKTITLE = "Meta-Level Architectures and Reflection, Sardinia, Italy, October 1986", EDITOR = "P. Maes and D. Nardi", PAGES = "313-327", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "A knowledge base management system built upon Prolog and a relational database is described. Metaprogramming plays a central role in the definition of the knowledge base structuring mechanisms and inference engines. Partial evaluation of metaprograms is used to drastically reduce the overhead of metaprogramming while preserving its flexibility."} DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD @INPROCEEDINGS{ Danvy:1988:Across, AUTHOR = "O. Danvy", TITLE = "Across the Bridge between Reflection and Partial Evaluation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "83-116", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The paper attempts to relate partial evaluation and procedural reflection on the basis that both require metalanguage and object language to be identical. This is necessary for self-application and for expressing simple and reflective procedures in a uniform way, respectively. It is shown that a partial evaluator collapses levels in a tower of interpreters because it is a program transformer rather than an evaluator."} @Unpublished{Danvy:1989:PoorMan:draft, author = "O. Danvy", title = "Poor Man's Self-Applicable Partial Evaluator", note = "Fourth Draft, 16 pp. Computer Science Department, Indiana University", year = "1989", month = "October"} @Article{Danvy:1991:Semantics-Directed, author = "O. Danvy", title = "Semantics-Directed Compilation of Nonlinear Patterns", journal = IPL, year = "1991", volume = "37", number = "6", pages = "315-322", month = "March", OPTnote = ""} @InProceedings{Danvy:1994:TheEssence, author = "O. Danvy and K. Malmkj{\ae}r and J. Palsberg", title = "The Essence of Eta-Expansion in Partial Evaluation", booktitle = PEPM94, year = "1994", pages = "11-20", note = ""} @Article{Danvy:1995:TheEssence, author = "O. Danvy and K. Malmkj{\ae}r and J. Palsberg", title = "The Essence of Eta-Expansion in Partial Evaluation", journal = LASC, year = "1995", volume = "8", number = "3", pages = "209-228", month = "September", OPTnote = "", OPTannote = ""} @InProceedings{Danvy:1996:Type-Directed, author = "O. Danvy", title = "Type-Directed Partial Evaluation", pages = "242-257", booktitle = "POPL'96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersburg, Florida, January 1996", year = "1996", organization = "ACM", OPTnote = "", OPTannote = ""} @Proceedings{Danvy:1996:PartialEvaluation, title = "Partial Evaluation. Dagstuhl Castle, Germany, February 1996", year = "1996", editor = "O. Danvy and R. Gl{\"u}ck and P. Thiemann", volume = "1110", series = "Lecture Notes in Computer Science", publisher = S-V, OPTannote = "", OPTnote = ""} @InProceedings{Danvy:1996:Pragmatics, author = "O. Danvy", title = "Pragmatics of Type-Directed Partial Evaluation", crossref = "Danvy:1996:PartialEvaluation", pages = "73-94"} @INPROCEEDINGS{ Darlington:1988:AProgram, AUTHOR = "J. Darlington and H. Pull", TITLE = "A Program Development Methodology Based on a Unified Approach to Execution and Transformation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "117-131", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The relationship between execution, symbolic execution and program transformation is discussed in the context of a functional programming language. A program development methodology is presented that allows a programmer to control both execution and transformation strategies by means of so-called scripts."} @InProceedings{Das:1995:SemanticFoundations, author = "M. Das and T. Reps and P. Van Hentenryck", title = "Semantic Foundations of Binding-Time Analysis for Imperative Programs", pages = "100-110", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Davis:1993:Higher-OrderBinding-Time, author = "K. Davis", title = "Higher-Order Binding-Time Analysis", booktitle = PEPM93, year = "1993", pages = "78-87", publisher = ACM, OPTnote = ""} @InProceedings{Davis:1994:PERsFrom, author = "K. Davis", title = "{PERs} from Projections for Binding-Time Analysis", booktitle = PEPM94, year = "1994", pages = "53-60", note = ""} @Article{Davis:1995:PERsFrom, author = "K. Davis", title = "{PERs} from Projections for Binding-time Analysis", journal = LASC, year = "1995", volume = "8", number = "3", pages = "249-266", month = "September", OPTnote = "", OPTannote = ""} @InProceedings{Dean:1994:IdentifyingProfitable, author = "J. Dean and C. Chambers and D. Grove", title = "Identifying Profitable Specialization in Object-Oriented Languages", booktitle = PEPM94, year = "1994", pages = "85-96", note = ""} @InProceedings{Dehbonei:1992:SemanticalInterprocedural, author = "B. Dehbonei and P. Jouvelot", title = "Semantical Interprocedural Analysis by Partial Symbolic Evaluation", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "14-20", OPTnote = ""} @TECHREPORT{DeNiel:1988:Partial, AUTHOR = "De Niel, A.", TITLE = "Partial Evaluation: Its Application to Compiler Generator* Generation", INSTITUTION = "Department of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania", TYPE = "Technical Report", NUMBER = "CMU-CS-88-166", YEAR = "1988", MONTH = "June"} @TechReport{DeNiel:1990:ProgramDivision, author = "De Niel, A. and E. Bevers and De Vlaminck, K.", title = "Program Division for a Polymorphically Typed Functional Language", institution = "Department of Computer Science, KU Leuven, Belgium", year = "1990", number = "CW 116", month = "September", OPTnote = ""} @Unpublished{DeNiel:1990:ProgramBifurcation, author = "De Niel, A. and E. Bevers and De Vlaminck, K.", title = "Program Bifurcation for a Polymorphically Typed Functional Language", note = "Department of Computer Science, KU Leuven, Belgium", year = "1990", month = "November"} @InProceedings{DeNiel:1991:ProgramBifurcation, author = "De Niel, A. and E. Bevers and De Vlaminck, K.", title = "Program Bifurcation for a Polymorphically Typed Functional Language", booktitle = PEPM, year = "1991", pages = "142-153", publisher = ACM, OPTnote = ""} @InProceedings{DeNiel:1991:PartialEvaluation, author = "De Niel, A. and E. Bevers and De Vlaminck, K.", title = "Partial Evaluation of Polymorphically Typed Functional Languages: The Representation Problem", booktitle = JTASPEFL, year = "1991", editor = "M. Billaud and others", pages = "90-97", publisher = "Rennes:\ IRISA", OPTnote = ""} @InProceedings{Doh:1995:ActionTransformation, author = "K.-G. Doh", title = "Action Transformation by Partial Evaluation", pages = "230-240", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Draves:1996:CompilerGeneration, author = "S. Draves", title = "Compiler Generation for Interactive Graphics using Intermediate Code", crossref = "Danvy:1996:PartialEvaluation", pages = "95-114"} @InProceedings{Durand:1991:Fine-GrainPartial, author = "I. Durand and D. Sherman and R. Strandh", title = "Fine-Grain Partial Evaluation of Intermediate Code from Equational Programs", booktitle = JTASPEFL, year = "1991", editor = "M. Billaud and others", pages = "98-106", publisher = "Rennes:\ IRISA", OPTnote = ""} @InProceedings{Dussart:1995:PolyvariantConstructor, author = "D. Dussart and E. Bevers and K. De Vlaminck", title = "Polyvariant Constructor Specialisation", pages = "54-65", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} @Unpublished{Dybkjaer:1985:Parsers, AUTHOR = "H. Dybkj{\ae}r", TITLE = "Parsers and Partial Evaluation: An Experiment", note = "Student Project 85-7-15, DIKU, University of Copenhagen, Denmark", year = "1985", MONTH = "July", ANNOTE = "An investigation of the practicability of applying a partial evaluator to the construction of specialized parsers (from Earley's general context free parser) is undertaken. The conclusion is drawn that the partial evaluator requires some development to become a good general purpose tool."} EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE @INPROCEEDINGS{ Emanuelson:1980:OnCompiling, AUTHOR = "P. Emanuelson and A. Haraldsson", TITLE = "On Compiling Embedded Languages in {Lisp}", BOOKTITLE = "1980 Lisp Conference, Stanford, California", YEAR = "1980", PAGES = "208-215", publisher = ACM, ANNOTE = "The idea of compiling Lisp embedded languages (iterative statements, pattern matching, etc.) by means of partial evaluation is described. Comparisons are made with specialized language compilers written in Interlisp."} @PhDThesis{Emanuelson:1980:PerformanceEnhancement, AUTHOR = "P. Emanuelson", TITLE = "Performance Enhancement in a Well-Struc\-tured Pattern Matcher Through Partial Evaluation", school = "Link{\"{o}}ping University, Sweden", YEAR = "1980", note = "Link{\"{o}}ping Studies in Science and Technology Dissertations 55", ANNOTE = "An advanced general pattern matcher (including control structures such as backtracking and generators) written in Lisp is partially evaluated to obtain object code in Lisp. The partial evaluation system used is Redfun-2."} @INCOLLECTION{ Emanuelson:1982:FromAbstract, AUTHOR = "P. Emanuelson", TITLE = "From Abstract Model to Efficient Compilation of Patterns", EDITOR = "M. Dezani-Ciancaglini and U. Montanari", BOOKTITLE = "International Symposium on Programming, 5th Colloquium, Turin, Italy (Lecture Notes in Computer Science, vol. 137)", PAGES = "91-104", PUBLISHER = S-V, YEAR = "1982", ANNOTE = "Partial evaluation is used to obtain efficient specialized pattern matchers from a cleanly structured extensible general pattern matcher."} @TECHREPORT{ Ermakov:1987:Symbolic, AUTHOR = "G.V. Ermakov", TITLE = "Symbolic Execution of Autocode-Type Programs in the {MIX}-System", INSTITUTION = "Institute of Mathematics", ADDRESS = "Minsk, USSR", YEAR = "1987", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "2 (272)", ANNOTE = "The concept of symbolic execution as realized in a integrated system designed for the development of Autocode-like programs is considered."} @ARTICLE{ Ershov:1977:ATheoretical, AUTHOR = "A.P. Ershov", TITLE = "A Theoretical Principle of System Programming", JOURNAL = "Soviet Mathematics Doklady", YEAR = "1977", VOLUME = "18", NUMBER = "2", PAGES = "312-315", ANNOTE = "English translation of \cite{Ershov:1977:OnATheoretical:Russian}."} @INPROCEEDINGS{ Ershov:1977:AnImplementation-Oriented, AUTHOR = "A.P. Ershov and V.V. Grushetsky", TITLE = "An Implementation-Oriented Method for Describing Algorithmic Languages", BOOKTITLE = "Information Processing 77, Toronto, Canada", EDITOR = "B. Gilchrist", PUBLISHER = N-H, YEAR = "1977", PAGES = "117-122", ANNOTE = "Mixed computation is described as a way of connecting the interpretational and the translational semantics of algorithmic languages. English version of \cite{Ershov:1977:AnImplementation-Oriented:Russian}."} @TechReport{Ershov:1977:AnImplementation-Oriented:Russian, author = "A.P. Ershov and V.V. Grushetsky", title = "An Implementation-Oriented Method for Describing Algorithmic Languages", institution = "Computing Center, Siberian Branch of the USSR Academy of Sciences", year = "1977", type = "Preprint", number = "74", address = "Novosibirsk, USSR", OPTmonth = "", note = "(In Russian)"} @INPROCEEDINGS{ Ershov:1977:Correctness, AUTHOR = "A.P. Ershov and V.E. Itkin", TITLE = "Correctness of Mixed Computation in {A}lgol-like Programs", BOOKTITLE = "Mathematical Foundations of Computer Science, Tatransk\'{a} Lomnica, Czechoslovakia (Lecture Notes in Computer Science, vol. 53)", EDITOR = "J. Gruska", PUBLISHER = S-V, YEAR = "1977", PAGES = "59-77", ANNOTE = "A formal treatment of mixed computation of programs in Algol-like languages. Three definitions of mixed computation are presented. The first one involves the smallest number of forcible suspensions but is incorrect in the general case. The other two are universally correct but require more forcible suspensions."} @ARTICLE{ Ershov:1977:OnATheoretical:Russian, AUTHOR = "A.P. Ershov", TITLE = "On a Theoretical Principle of System Programming", JOURNAL = "Doklady Akademii Nauk SSSR", YEAR = "1977", NOTE = "(In Russian)", VOLUME = "233", NUMBER = "2", PAGES = "272-275", ANNOTE = "Russian version of \cite{Ershov:1977:OnThePartial}."} @ARTICLE{ Ershov:1977:OnTheEssence:English, AUTHOR = "A.P. Ershov", TITLE = "On the Essence of Translation", JOURNAL = "Computer Software and System Programming", YEAR = "1977", VOLUME = "3", NUMBER = "5", PAGES = "332-346"} @ARTICLE{ Ershov:1977:OnTheEssence:Russian, AUTHOR = "A.P. Ershov", TITLE = "On the Essence of Translation", JOURNAL = "Programmirovanie", YEAR = "1977", NOTE = "(In Russian)", NUMBER = "5", PAGES = "21-39", ANNOTE = "Some compiling algorithms including optimization and code generation are described on the basis of mixed computation analogues to partial binding of function arguments. The notion of generating extension is introduced and is used to demonstrate the transformation of an interpreter into a compiler. Comparisons with related work are made."} @ARTICLE{ Ershov:1977:OnThePartial, AUTHOR = "A.P. Ershov", TITLE = "On the Partial Computation Principle", JOURNAL = IPL, YEAR = "1977", MONTH = "April", VOLUME = "6", NUMBER = "2", PAGES = "38-41", ANNOTE = "A short note explaining the basic notions of partial (or mixed) computation. A number of traditional programming methods and techniques are considered as instances of partial computation."} @ARTICLE{ Ershov:1978:MixedComputation, AUTHOR = "A.P. Ershov", TITLE = "Mixed Computation in the Class of Recursive Program Schemata", JOURNAL = "Acta Cybernetica", YEAR = "1978", VOLUME = "4", NUMBER = "1", PAGES = "19-23", ANNOTE = "A method of mixed computation of recursive programs based on the notion of a semi-bound call is described. The method involves rewriting (call unfolding) and simplification (symbolic expression reduction). Examples of mixed computation are given."} @INCOLLECTION{ Ershov:1978:OnTheEssence, AUTHOR = "A.P. Ershov", TITLE = "On the Essence of Compilation", BOOKTITLE = "Formal Description of Programming Concepts", EDITOR = "E.J. Neuhold", PAGES = "391-420", PUBLISHER = N-H, YEAR = "1978", ANNOTE = "English version of \cite{Ershov:1977:OnTheEssence:Russian}."} @ARTICLE{ Ershov:1979:MixedComputation:Russian, AUTHOR = "A.P. Ershov", TITLE = "Mixed Computation Organization for Recursive Programs", JOURNAL = "Doklady Akademii Nauk SSSR", YEAR = "1979", NOTE = "(In Russian)", VOLUME = "245", NUMBER = "5", PAGES = "1041-1044", ANNOTE = "Russian version of \cite{Ershov:1978:MixedComputation}."} @ARTICLE{ Ershov:1979:TheOrganization, AUTHOR = "A.P. Ershov", TITLE = "The Organization of Mixed Computations for Recursive Programs", JOURNAL = "Soviet Mathematics Doklady", YEAR = "1979", VOLUME = "20", NUMBER = "2", PAGES = "382-386", ANNOTE = "English translation of [Ershov 79a]."} @InCollection{Ershov:1980:TheSystematic, author = "A.P. Ershov", title = "The Systematic Obtaining of Object Code and Object Code Generator from Interpretational Semantics", booktitle = "The British Lectures", publisher = "London:\ Heyden", year = "1980", chapter = "4", pages = "41-57", OPTnote = ""} @INCOLLECTION{ Ershov:1980:MixedComputation:Russian, AUTHOR = "A.P. Ershov", TITLE = "Mixed Computation: Potential Applications and Problems for Study", BOOKTITLE = "Mathematical Logic Methods in AI Problems and Systematic Programming, Part 1", PAGES = "26-55", PUBLISHER = "Vil'nyus, USSR", YEAR = "1980", NOTE = "(In Russian)", ANNOTE = "This is a survey paper presenting, summarizing, and integrating results from \cite{Ershov:1977:Correctness}, \cite{Ershov:1977:OnTheEssence:Russian}, \cite{Ershov:1978:MixedComputation} and \cite{Ershov:1982:Transformational:Russian}. The paper is an overview of techniques, theory, and applications of mixed computation."} @INPROCEEDINGS{ Ershov:1981:TheTransformational, AUTHOR = "A.P. Ershov", TITLE = "The Transformational Machine: Theme and Variations", BOOKTITLE = "Mathematical Foundations of Computer Science, {\v{S}}trbsk{\'{e}} Pleso, Czechoslovakia (Lecture Notes in Computer Science, vol. 118)", EDITOR = "J. Gruska and M. Chytil", PUBLISHER = S-V, YEAR = "1981", PAGES = "16-32", ANNOTE = "English version of \cite{Ershov:1982:Transformational:Russian}."} @ARTICLE{ Ershov:1982:MixedComputation, AUTHOR = "A.P. Ershov", TITLE = "Mixed Computation: Potential Applications and Problems for Study", JOURNAL = "Theoretical Computer Science", YEAR = "1982", VOLUME = "18", PAGES = "41-67", ANNOTE = "English version of \cite{Ershov:1980:MixedComputation:Russian}."} @ARTICLE{ Ershov:1982:OnFutamura, AUTHOR = "A.P. Ershov", TITLE = "On {F}utamura Projections", JOURNAL = "BIT (Japan)", YEAR = "1982", NOTE = "(In Japanese)", VOLUME = "12", NUMBER = "14", PAGES = "4-5", ANNOTE = ""} @ARTICLE{ Ershov:1982:Systematic, AUTHOR = "A.P. Ershov and B.N. Ostrovsky", TITLE = "Systematic Construction of a Program for Solution of a Particular Problem from a Certain Class Examplified by Syntactic Analyzers", JOURNAL = "Doklady Akademii Nauk SSSR", YEAR = "1982", NOTE = "(In Russian)", VOLUME = "266", NUMBER = "4", PAGES = "803-806", ANNOTE = "A method of producing language-oriented parsers by means of mixed computation in the framework of the transformational approach is described. The results of an experiment are given."} @INCOLLECTION{ Ershov:1982:Transformational:Russian, AUTHOR = "A.P. Ershov", TITLE = "Transformational Machine: Theme and Variations", BOOKTITLE = "Problems in Theoretical and Systems Programming", PAGES = "5-24", PUBLISHER = "Novosibirsk State Univ.", ADDRESS = "Novosibirsk, USSR", YEAR = "1982", NOTE = "(In Russian)", ANNOTE = "A reduction-type transformational semantics for a simple imperative language is described. The notion of a transformational machine with base transformations as instruction set is introduced."} @ARTICLE{ Ershov:1984:MixedComputation, AUTHOR = "A.P. Ershov", TITLE = "Mixed Computation", JOURNAL = "V mire nauki (Scientific American, Russian Edition)", YEAR = "1984", NOTE = "(In Russian)", NUMBER = "6", PAGES = "28-42", ANNOTE = "A popular account of the basic ideas of mixed computation."} @INCOLLECTION{ Ershov:1985:OnMixed, AUTHOR = "A.P. Ershov", TITLE = "On Mixed Computation: Informal Account of the Strict and Polyvariant Computational Schemes", BOOKTITLE = "Control Flow and Data Flow: Concepts of Distributed Programming. NATO ASI Series F: Computer and System Sciences, vol. 14", EDITOR = "M. Broy", PAGES = "107-120", PUBLISHER = S-V, YEAR = "1985", ANNOTE = "An account of the general idea of mixed computation and a comparative analysis of results published in \cite{Bulyonkov:1984:Polyvariant}, \cite{Itkin:1983:OnPartial:Russian}, and \cite{Ostrovsky:1980:Application:Novosibirsk}."} @INCOLLECTION{Ershov:1987:Controlled, AUTHOR = "A.P. Ershov and B.N. Ostrovsky", TITLE = "Controlled Mixed Computation and Its Application to Systematic Development of Language-Oriented Parsers", BOOKTITLE = "Program Specification and Transformation. Proc. IFIP TC2/WG 2.1 Working Conference on Program Specification and Transformation", EDITOR = "L.G.L.T. Meertens", PAGES = "31-48", PUBLISHER = N-H, YEAR = "1987"} @InProceedings{Ershov:1988:OpeningKey-Note:proceedings, author = "A.P. Ershov", title = "Opening Key-Note Speech", booktitle = PEMC, year = "1988", editor = BEJ, pages = "xxiii-xxix", publisher = N-H, OPTnote = ""} @Article{Ershov:1988:OpeningKey-Note:NGC, author = "A.P. Ershov", title = "Opening Key-Note Speech", journal = NGC, year = "1988", volume = "6", number = "2,3", pages = "79-86", OPTnote = ""} @Proceedings{Ershov:1988:SpecialIssue, title = "Special Issue: Selected Papers from the Workshop on Partial Evaluation and Mixed Computation, 1987 (New Generation Computing, vol. 6, nos. 2,3)", year = "1988", editor = "A.P. Ershov and D. Bj{\o}rner and Y. Futamura and K. Furukawa and A. Haraldsson and W. Scherlis", publisher = "Tokyo:\ Ohmsha Ltd. and Berlin:\ Springer-Verlag", OPTnote = ""} @InProceedings{Etalle:1995:OptimizationOf, author = "S. Etalle and M. Gabbrielli", title = "Optimization of {CLP} Modules via Replacement", OPTpages = "", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF @InProceedings{Field:1992:ASimple, author = "J. Field", title = "A Simple Rewriting Semantics for Realistic Imperative Programs and Its Application to Program Analysis", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "98-106", OPTnote = ""} @Article{Franco:1989:CreatingEfficient, author = "J. Franco and D.P. Friedman", title = "Creating Efficient Programs by Exchanging Data for Procedures", journal = "Computer Languages", year = "1989", volume = "14", number = "1", pages = "11-23", OPTnote = ""} @InProceedings{Freericks:1993:FormallyCorrect, author = "M. Freericks and A. Knoll", title = "Formally correct translation of {DSP} algorithms specified in an asynchronous applicative language", pages = "417-420", booktitle = "{ICASSP-93}. 1993 {IEEE} International Conference on Acoustics, Speech, and Signal Processing, Minneapolis, MN, USA", year = "1993", publisher = IEEE, OPTnote = "", annote = "Applies partial evaluation and abstract interpretation to speed up programs written in the functional DSP language ALDiSP."} @TechReport{Friedman:1990:GenerationOf, author = "L. Friedman and D.P. Benjamin", title = "Generation of Expert Systems by Partial Evaluation", institution = "Information Sciences Institute, Marina del Rey, California", year = "1990", type = "ISI research report", number = "ISI/RR-89-247", OPTnote = ""} @Article{Friedrich:1990:GeneratingEfficient, author = "G. Friedrich and G. Gottlob and W. Nejdl", title = "Generating Efficient Diagnostic Procedures from Model-Based Knowledge Using Logic Programming Techniques", journal = "Computers {\&} Mathematics with Applications", year = "1990", volume = "20", number = "9/10", pages = "57-72", OPTnote = ""} @InProceedings{Fruwirth:1988:TypeInference, author = "T.W. Fruwirth", title = "Type Inference by Program Transformation and Partial Evaluation", pages = "347-354", booktitle = "1988 International Conference on Computer Languages, Miami Beach, FL, USA", year = "1988", publisher = IEEECSP, OPTnote = "", annote = ""} @InProceedings{Fruehwirth:1989:Type, author = "T.W. Fr{\"u}hwirth", title = "Type Inference by Program Transformation and Partial Evaluation", booktitle = "Meta-Programming in Logic Programming", year = "1989", editor = "H. Abramson and M.H. Rogers", pages = "263-282", publisher = MIT} @TECHREPORT{ Fujita:1987:AnAlgorithm, AUTHOR = "H. Fujita", TITLE = "An Algorithm for Partial Evaluation with Constraints", INSTITUTION = "ICOT", ADDRESS = "Tokyo, Japan", YEAR = "1987", TYPE = "Technical Report", NUMBER = "TM-367", ANNOTE = "A two-stage partial evaluation algorithm for Prolog is presented. In the first stage, a specialized program is built. In the second stage (called short-cutting and constraint evaluation) trivial one-clause predicates are unfolded and constraints are evaluated where possible."} @TECHREPORT{ Fujita:1987:OnAutomating, AUTHOR = "H. Fujita", TITLE = "On Automating Partial Evaluation of {P}rolog Programs", INSTITUTION = "ICOT", ADDRESS = "Tokyo, Japan", YEAR = "1987", NOTE = "(In Japanese)", TYPE = "Technical Report", NUMBER = "TM-250", ANNOTE = "An automatic partial evaluator for Prolog is presented. It uses information collected by preanalyses for ensuring termination of the partial evaluation process. The preanalyses are not formally described, but it is expected that they can be based on abstract interpretation."} @ARTICLE{ Fujita:1988:ASelf-Applicable, AUTHOR = "H. Fujita and K. Furukawa", TITLE = "A Self-Applicable Partial Evaluator and Its Use in Incremental Compilation", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "91-118", ANNOTE = "The paper presents an experimental implementation of a self-applicable partial evaluator in Prolog which is used for compiler generation, compiler generator generation, and incremental compilation."} @TechReport{Fujita:1988:AbstractInterpretation, author = "H. Fujita", title = "Abstract Interpretation and Partial Evaluation of {Prolog} Programs", institution = "Institute for New Generation Computer Technology, Tokyo", year = "1988", type = "ICOT technical memorandum", number = "484", OPTnote = ""} @TechReport{Fujita:1988:PartialEvaluation:ICOT, author = "H. Fujita and A. Okumura and K. Furukawa", title = "Partial Evaluation of {GHC} Programs Based on {UR}-Set with Constraint Solving", institution = "Institute for New Generation Computer Technology, Tokyo", year = "1988", type = "ICOT technical report", number = "344", OPTnote = ""} @InProceedings{Fujita:1988:PartialEvaluation, author = "H. Fujita and A. Okumura and K. Furukawa", title = "Partial Evaluation of {GHC} Programs Based on the {UR}-set with Constraints", booktitle = "Logic Programming: Fifth International Conference and Symposium, volume 2", year = "1988", editor = "R.A. Kowalski and K.A. Bowen", pages = "924-941", publisher = MIT, OPTnote = ""} @ARTICLE{ Fuller:1988:Mixed, AUTHOR = "D.A. Fuller and S. Abramsky", TITLE = "Mixed Computation of {P}rolog Programs", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "119-141", ANNOTE = "The paper describes theoretical as well as implementation issues involved in mixed computation of Prolog programs. A self-applicable partial evaluator for Prolog is presented and a number of outstanding problems discussed."} @Unpublished{Fuller:1988:TowardsEfficient, author = "D.A. Fuller", title = "Towards Efficient Self-Applicable Partial Evaluation in {Prolog}", note = "Department of Computing, Imperial College, London", year = "1988 (?)", OPTmonth = ""} @PhDThesis{Fuller:1989:PartialEvaluation, author = "D.A. Fuller", title = "Partial Evaluation and Mix Computation in Logic Programming", school = "Imperial College, London, England", year = "1989", month = "February", note = ""} @InProceedings{Fuller:1991:ExtendingPartial, author = "D.A. Fuller and S.A. Bocic", title = "Extending Partial Evaluation in Logic Programming", booktitle = "Proceedings of the {XI} International Conference of the Chilean Computer Science Society, Santiago, Chile, October 1991", year = "1991", OPTeditor = "", OPTpages = "", publisher = "New York:\ Plenum Press", OPTnote = ""} @ARTICLE{ Furukawa:1988:Unfolding, AUTHOR = "K. Furukawa and A. Okumura and M. Murakami", TITLE = "Unfolding Rules for Guarded {H}orn Clause Programs", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "143-157", ANNOTE = "A set of rules for unfolding-based transformation of Guarded Horn Clauses (GHC) programs is presented. This set of rules is shown to preserve the set of solutions and absence from deadlock, and is expected to give a basis for partial evaluation of GHC programs."} @InProceedings{Furukawa:1989:Deriving, author = "K. Furukawa and H. Fujita", title = "Deriving an Efficient Production System by Partial Evaluation", booktitle = "Logic Programming: Proceedings of the North American Conference 1989, Cleveland, Ohio, October 1989", year = "1989", editor = "E.L. Lusk and R.A. Overbeek", pages = "661-674", publisher = MIT} @ARTICLE{ Futamura:1971:Partial, AUTHOR = "Y. Futamura", TITLE = "Partial Evaluation of Computation Process -- An Approach to a Compiler-Compiler", JOURNAL = "Systems, Computers, Controls", YEAR = "1971", VOLUME = "2", NUMBER = "5", PAGES = "45-50", ANNOTE = "This seminal paper defines partial evaluation and exposes its applications to (among other things) compilation and compiler generation. A brief discussion is given on the feasibility in practice and of some conceptual and engineering issues of partial evaluation."} @INPROCEEDINGS{ Futamura:1983:Partial, AUTHOR = "Y. Futamura", TITLE = "Partial Computation of Programs", BOOKTITLE = "RIMS Symposia on Software Science and Engineering, Kyoto, Japan, 1982 (Lecture Notes in Computer Science, vol. 147)", EDITOR = "E. Goto and others", PUBLISHER = S-V, YEAR = "1983", PAGES = "1-35", ANNOTE = "Partial evaluation is formally defined, examples are given, and many applications are outlined. A partial evaluation method for a functional language is given, and a number of engineering problems are discussed."} @InProceedings{Futamura:1988:ProgramEvaluation, author = "Y. Futamura", title = "Program Evaluation and Generalized Partial Computation", booktitle = "International Conference on Fifth Generation Computer Systems, Tokyo, Japan", year = "1988", OPTeditor = "", pages = "1-8", OPTpublisher = "", OPTaddress = "", OPTmonth = "", OPTnote = ""} @INPROCEEDINGS{ Futamura:1988:Generalized, AUTHOR = "Y. Futamura and K. Nogi", TITLE = "Generalized Partial Computation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "133-151", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "A partial evaluation method that makes use of a theorem prover to evaluate conditions in conditional expressions is proposed."} @Article{Futamura:1991:Essence, author = "Y. Futamura and K. Nogi and A. Takano", title = "Essence of Generalized Partial Computation", journal = TCS, year = "1991", volume = "90", number = "1", pages = "61-79", note = "Also in D.\ Bj{\o}rner and V.\ Kotov: Images of Programming, North-Holland, 1991"} GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG @INPROCEEDINGS{ Gallagher:1986:Transforming, AUTHOR = "J. Gallagher", TITLE = "Transforming Logic Programs by Specialising Interpreters", BOOKTITLE = "ECAI-86. 7th European Conference on Artificial Intelligence, Brighton Centre, United Kingdom", YEAR = "1986", publisher = "Brighton:\ European Coordinating Committee for Artificial Intelligence", PAGES = "109-122", ANNOTE = "Logic programs are transformed by partial evaluation of metainterpreters. Given an interpreter for a non-standard control strategy, a logic program that is to be executed using this control strategy can be transformed into an equivalent program to be executed using the standard strategy"} @ARTICLE{ Gallagher:1988:Specialisation, AUTHOR = "J. Gallagher and M. Codish and E. Shapiro", TITLE = "Specialisation of {P}rolog and {FCP} Programs Using Abstract Interpretation", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "159-186", ANNOTE = "An approach to specialization of logic programs is presented. Specialization takes place in two stages: an abstraction stage and a specialization stage. These are based on abstract interpretation of logic programs. The specialization technique is applied to sequential Prolog and Flat Concurrent Prolog."} @InProceedings{Gallagher:1990:SomeLow-Level, author = "J. Gallagher and M. Bruynooghe", title = "Some Low-Level Source Transformations for Logic Programs", booktitle = "Proceedings of the Second Workshop on Meta-Programming in Logic, April 1990, Leuven, Belgium", year = "1990", editor = "M. Bruynooghe", pages = "229-246", publisher = "Department of Computer Science, KU Leuven, Belgium", OPTnote = ""} @InProceedings{Gallagher:1993:TutorialOn, author = "J. Gallagher", title = "Tutorial on Specialisation of Logic Programs", booktitle = PEPM93, year = "1993", pages = "88-98", publisher = ACM, OPTnote = ""} @InProceedings{Gallagher:1996:RegularApproximation, author = "J.P. Gallagher and L. Lafave", title = "Regular Approximation of Computation Paths in Logic and Functional Languages", crossref = "Danvy:1996:PartialEvaluation", pages = "115-136"} @InProceedings{Gengler:1992:APolyvariant, author = "M. Gengler and B. Rytz", title = "A Polyvariant Binding Time Analysis Handling Partially Known Values", booktitle = WSA92, year = "1992", editor = "M. Billaud and others", pages = "322-330", publisher = "Rennes:\ IRISA", OPTnote = ""} @INPROCEEDINGS{ Ghezzi:1985:Program, AUTHOR = "C. Ghezzi and D. Mandrioli and A. Tecchio", TITLE = "Program Simplification Via Symbolic Interpretation", BOOKTITLE = "Foundations of Software Technology and Theoretical Computer Science. Fifth Conference, New Delhi, India (Lecture Notes in Computer Science, vol. 206)", EDITOR = "S.N. Maheshwari", PUBLISHER = S-V, YEAR = "1985", PAGES = "116-128", ANNOTE = "A program transformation technique called simplification is proposed. It is a specialization technique similar to partial evaluation but works with predicates to specify restricted domains of input values."} @ARTICLE{ Giannotti:1987:Symbolic, AUTHOR = "F. Giannotti and others", TITLE = "Symbolic Evaluation with Structural Recursive Symbolic Constants", JOURNAL = "Science of Computer Programming", YEAR = "1987", VOLUME = "9", NUMBER = "2", PAGES = "161-177", ANNOTE = "An extension of the class of symbolic constants introduced in \cite{Ambriola:1985:Symbolic} is presented. This allows to handle subsets of data domains represented via recursively defined predicates. The operational and denotational semantics of the new class of symbolic constants is given along with a few examples of its use."} @InProceedings{Glenstrup:1996:BTAAlgorithms, author = "A.J. Glenstrup and N.D. Jones", title = "{BTA} Algorithms to Ensure termination of Off-line Partial Evaluation", crossref = "AEIIS:1996:Perspectives", pages = "115-122"} @InProceedings{Glueck:1990:ApplicationOf, author = "R. Gl{\"u}ck and V.F. Turchin", title = "Application of Metasystem Transition to Function Inversion and Transformation", booktitle = "International Symposium on Symbolic and Algebraic Computation, ISSAC '90, Tokyo, Japan", year = "1990", pages = "286-287", publisher = ACM, OPTnote = ""} @InProceedings{Glueck:1991:TowardsMultiple, author = "R. Gl{\"u}ck", title = "Towards Multiple Self-Application", booktitle = PEPM, year = "1991", pages = "309-320", publisher = ACM, OPTnote = ""} @InCollection{Glueck:1991:MetasystemTransition, author = "R. Gl{\"u}ck", title = "Metasystem Transition in the Machine and Its Application to Knowledge Systems", booktitle = "Workbook of the 1st Principia Cybernetica Workshop", publisher = "Brussels:\ Principia Cybernetica", year = "1991", editor = "F. Heylighen", pages = "58-61", OPTnote = ""} @TechReport{Glueck:1991:OnTheGeneration, author = "R. Gl{\"u}ck", title = "On the Generation of S{$\rightarrow$}R-Specializers", institution = "Technical University, Vienna, Austria", year = "1991", OPTnumber = "", OPTnote = ""} @InCollection{Glueck:1992:ProjectionsFor, author = "R. Gl{\"u}ck", title = "Projections for Knowledge Based Systems", booktitle = "Cybernetics and Systems Research '92. Vol. 1", publisher = "Singapore:\ World Scientific", year = "1992", editor = "R. Trappl", pages = "535-542", note = ""} @InProceedings{Glueck:1993:OccamsRazor, author = "R. Gl{\"u}ck and A.V. Klimov", title = "Occam's Razor in Metacomputation: the Notion of a Perfect Process Tree", booktitle = "3rd International Workshop on Static Analysis, Padova, Italy, September 1993. (Lecture Notes in Computer Science, vol. 724)", year = "1993", editor = "P.Cousot and M.Falaschi and G.Fil\`{e} and A.Rauzy", pages = "112--123", publisher = S-V, keywords = "partial evaluation, partially-static structures, driving, supercompilation, metacomputation", annote = "Starting with constant propagation we construct step-by-step the driving mechanism used in supercompilation which ensures the perfect propagation of information. As an example we demonstrate that specializing a naive pattern matcher with respect to a fixd pattern obtains the efficiency of a matcher generated by the Knuth, Morris and Pratt algorithm.", OPTnote = ""} @InProceedings{Glueck:1994:GeneratingOptimizing, author = "R. Gl{\"u}ck and J. J{\o}rgensen", title = "Generating Optimizing Specializers", booktitle = "IEEE Computer Society International Conference on Computer Languages, Toulouse, France, 1994", year = "1994", pages = "183--194", publisher = "IEEE Computer Society Press", OPTnote = ""} @InProceedings{Glueck:1994:MetacomputationAs, author = "R. Gl{\"u}ck and A.V. Klimov", title = "Metacomputation as a Tool for Formal Linguistic Modeling", booktitle = "Cybernetics and Systems '94", editor = "R.Trappl", volume = "2", year = "1994", pages = "1563--1570", publisher = "World Scientific", address = "Singapore", annote = "We derive the basic requirements for metacomputation by a structural analysis of different model definitions using a single concept, namely formal linguistic modeling. We show that three operations must be performed effectively and efficiently by metacomputation: composition, inversion, and specialization of programs." } @Article{Glueck:1994:OnTheGeneration, author = "R. Gl{\"u}ck", title = "On the Generation of Specializers", journal = JFP, year = "1994", volume = "4", number = "4", pages = "499-514", month = "October", OPTnote = "", OPTannote = ""} @InProceedings{Glueck:1994:PartialDeduction, author = "R. Gl{\"u}ck, M.H. S{\o}rensen", title = "Partial Deduction and Driving Are Equivalent", editor = "M.V. Hermenegildo and J. Penjam", pages = "165-181", booktitle = "Programming Language Implementation and Logic Programming, 6th International Symposium, PLILP'94, Madrid, Spain, September, 1994. (Lecture Notes in Computer Science, Vol. 844)", year = "1994", publisher = S-V, OPTnote = "", OPTannote = ""} @InProceedings{Glueck:1995:ReductionOf, author = "R. Gl{\"u}ck and A. Klimov", title = "Reduction of Language Hierarchies", OPTeditor = "", OPTvolume = "", OPTnumber = "", OPTseries = "", OPTpages = "", booktitle = "14th International Congress on Cybernetics, Namur, Belgium, August 1995", year = "1995", OPTpublisher = "", OPTaddress = "", OPTmonth = "", OPTannote = "" } @InProceedings{Glueck:1995:EfficientMulti-Level, author = "R. Gl{\"u}ck and J. J{\o}rgensen", title = "Efficient Multi-Level Generating Extensions for Program Specialization", OPTeditor = "", OPTvolume = "", OPTnumber = "", OPTseries = "", OPTpages = "", booktitle = "Programming Languages, Implementations, Logics, and Programs (PLILP'95). Lecture Notes in Computer Science, vol.\ ???", year = "1995", publisher = S-V, OPTaddress = "", OPTmonth = "", OPTannote = "" } @InProceedings{Glueck:1995:Binding-TimeAnalysis, author = "R. Gl{\"u}ck and R. Nakashige and R. Z{\"o}chling", title = "Binding-Time Analysis Applied to Mathematical Algorithms", editor = "J. Dolevzal and J. Fidler", pages = "137-146", booktitle = "System Modelling and Optimization", year = "1995", publisher = "Chapman and Hall", OPTnote = "", OPTannote = ""} @InProceedings{Glueck:1996:, author = "R. Gl{\"u}ck and M.H. S{\o}rensen", title = "A Roadmap to Metacomputation by Supercompilation", crossref = "Danvy:1996:PartialEvaluation", pages = "137-160"} @InProceedings{Glueck:1996:FastMulti-Level, author = "R. Gl{\"u}ck and J. J{\o}rgensen", title = "Fast Multi-Level Binding-Time Analysis for Multiple Program Specialization", crossref = "AEIIS:1996:Perspectives", pages = "108-114"} @INCOLLECTION{ Goad:1982:Automatic, AUTHOR = "C. Goad", TITLE = "Automatic Construction of Special Purpose Programs", BOOKTITLE = "6th Conference on Automated Deduction, New York, USA (Lecture Notes in Computer Science, vol. 138)", EDITOR = "D.W. Loveland", PAGES = "194-208", PUBLISHER = S-V, YEAR = "1982", ANNOTE = "A technique for program specialization is presented and applied to the generation of efficient programs for use in computer graphics (hidden surface analysis specialized to a particular scene)."} @InProceedings{Gomard:1989:CompilerGeneration, author = "C. K. Gomard and N. D. Jones", title = "Compiler Generation by Partial Evaluation", booktitle = "Information Processing '89. Proceedings of the IFIP 11th World Computer Congress", year = "1989", editor = "G. X. Ritter", pages = "1139-1144", organization = "IFIP", publisher = N-H} @MastersThesis{Gomard:1989:HigherOrder, author = "C. K. Gomard", title = "Higher Order Partial Evaluation -- {HOPE} for the Lambda Calculus", school = "DIKU, University of Copenhagen, Denmark", year = "1989", month = "September"} @InProceedings{Gomard:1990:PartialType, author = "C.K. Gomard", title = "Partial Type Inference for Untyped Functional Programs", booktitle = "1990 ACM Conference on Lisp and Functional Programming, Nice, France", year = "1990", pages = "282-287", publisher = ACM, note = ""} @Article{Gomard:1991:APartialEvaluator, author = "C.K. Gomard and N.D. Jones", title = "A Partial Evaluator for the Untyped Lambda-Calculus", journal = "Journal of Functional Programming", year = "1991", volume = "1", number = "1", pages = "21-69", month = "January", OPTnote = ""} @Article{Gomard:1992:ASelf-applicable:TOPLAS, author = "C.K. Gomard", title = "A Self-Applicable Partial Evaluator for the Lambda Calculus: Correctness and Pragmatics", journal = TOPLAS, year = "1992", volume = "14", number = "2", pages = "147-172", month = "April", note = ""} @Article{Gomard:1991:CompilerGeneration, author = "C.K. Gomard and N.D. Jones", title = "Compiler Generation by Partial Evaluation: a Case Study", journal = "Structured Programming", year = "1991", volume = "12", OPTnumber = "", pages = "123-144", OPTnote = ""} @INCOLLECTION{ Grokh:1983:AnAnalysis, AUTHOR = "A.V. Grokh and A.G. Krasovsky and V.F. Khoroshevsky", TITLE = "An Analysis of the Mixed-Computation-Oriented Meta-Language Description of Symbol Manipulation", BOOKTITLE = "Advanced Programming Technologies", PAGES = "69-75", PUBLISHER = "MDNTP, Moscow, USSR", YEAR = "1983", NOTE = "(In Russian)", ANNOTE = "A mixed computation based approach to the development of programming tools for automatic analysis of Refal programs is described. The notion of areal of a variable is introduced, and mixed computation on areals is defined."} @TECHREPORT{ Grokh:1987:MixedComputation, AUTHOR = "A.V. Grokh and A.G. Krasovsky", TITLE = "Mixed Computation and an Analysis of Correctness of Symbolic Transformations", INSTITUTION = "Moscow Institute of Physical Engineering, Moscow, USSR", YEAR = "1987", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "030-87", ANNOTE = "A definition of mixed computation in the class of recursive programs is given and its use for checking symbolic transformations is shown. The instrumental program system Areal designed for checking Refal programs is described."} @phdthesis{Gurr:1994:ASelf-Applicable, author = {C A Gurr}, school = {Department of Computer Science, University of Bristol}, title = {A Self-Applicable Partial Evaluator for the Logic Programming Language Goedel}, month = "January", year = {1994} } @Article{Gustavson:1970:SymbolicGeneration, author = "F.G. Gustavson and W. Liniger and R. Willoughby", title = "Symbolic Generation of an Optimal {Crout} Algorithm for Sparse Systems of Linear Equations", journal = "Journal of the ACM", year = "1970", volume = "17", number = "1", pages = "87-109", month = "January", OPTnote = ""} @MASTERSTHESIS{ Guzowski:1988:TowardsDeveloping, AUTHOR = "M.A. Guzowski", TITLE = "Towards Developing a Reflexive Partial Evaluator for an Interesting Subset of {Lisp}", SCHOOL = "Dept. of Computer Engineering and Science", ADDRESS = "Case Western Reserve University, Cleveland, Ohio", YEAR = "1988", MONTH = "January", ANNOTE = "Work towards partial evaluation of a minimally user-annotated dialect of full Scheme is presented. A non-selfapplicable partial evaluator is described which focuses on the general issues of control and environment, and admits a restricted form of side-effects."} HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH @Unpublished{Hagiya:1991:PartialEvaluation:Draft, author = "M. Hagiya", title = "Partial Evaluation with Types (Draft)", note = "RIMS, Kyoto University, Japan", year = "1991", month = "October"} @InProceedings{Han:1992:Chain-Split, author = "J. Han", title = "Chain-SPlit Evaluation in Deductive Databases", pages = "376-384", booktitle = "Eighth International Conference on Data Engineering, Tempe, AZ, USA", year = "1992", publisher = IEEECSP, OPTnote = "", annote = "Applies chain-split evaluation techniques (partial evaluation, magic sets, and buffered evaluation) to efficiently evaluate recursions in deductive databases." } @InProceedings{Hao:1990:CombiningPartial, author = "J.-K. Hao and J.-J. Chabrier", title = "Combining partial evaluation and constraint solving: a new approach to constraint logic programming", pages = "494-500", booktitle = "2nd International IEEE Conference on Tools for Artificial Intelligence, Herndon, VA, USA", year = "1990", publisher = IEEECSP, OPTnote = "", annote = "A constraint logic programming system is developed which consists of two parts: a partial evaluator to carry out logical inferences, and a solver in finite domains."} @InProceedings{Hannan:1989:DerivingMixed, author = "J. Hannan and D. Miller", title = "Deriving Mixed Evaluation from Standard Evaluation for a Simple Functional Language", booktitle = "Mathematics of Program Construction. Groningen, The Netherlands (Lecture Notes in Computer Science, vol. 375)", year = "1989", editor = "J.L.A. van de Snepscheut", pages = "239-255", publisher = S-V} @InProceedings{Hannan:1991:StagingTransformations, author = "J. Hannan", title = "Staging Transformations for Abstract Machines", booktitle = PEPM, year = "1991", pages = "130-141", publisher = ACM, OPTnote = ""} @InProceedings{Hansen:1991:PropertiesOf, author = "T.A. Hansen", title = "Properties of Unfolding-Based Meta-Level Systems", booktitle = PEPM, year = "1991", pages = "243-254", publisher = ACM, OPTnote = ""} @PhDThesis{Haraldsson:1977:AProgram, AUTHOR = "A. Haraldsson", TITLE = "A Program Manipulation System Based on Partial Evaluation", school = "Link{\"{o}}ping University, Sweden", year = "1977", note = "Link{\"{o}}ping Studies in Science and Technology Dissertations 14", ANNOTE = "The system Redfun-2 for partial evaluation of Lisp is described. It works also for non-pure Lisp constructs, such as side-effects and assignments, and handles value ranges for parameters. Such value ranges can be automatically derived from predicates in conditionals."} @INPROCEEDINGS{ Haraldsson:1978:APartial, AUTHOR = "A. Haraldsson", TITLE = "A Partial Evaluator, and Its Use for Compiling Iterative Statements in {L}isp", BOOKTITLE = "Fifth ACM Symposium on Principles of Programming Languages, Tucson, Arizona", YEAR = "1978", PAGES = "195-202", PUBLISHER = ACM, ANNOTE = "The paper describes an experiment in which an interpreter for iterative statements in Lisp is partially evaluated to obtain Lisp object code."} @InProceedings{Harnett:1992:TowardsEfficient, author = "S. Harnett and M. Montenyohl", title = "Towards Efficient Compilation of a Dynamic Object-Oriented Language", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "82-89", OPTnote = ""} @INPROCEEDINGS{ Harrison:1988:FunctionInversion, AUTHOR = "P.G. Harrison", TITLE = "Function Inversion", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "153-166", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "A method for synthesizing recursive inverse function definitions for certain first order recursive functions is described."} @ARTICLE{ Hascoet:1988:Partial, AUTHOR = "L. Hasco{\"{e}}t", TITLE = "Partial Evaluation with Inference Rules", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "187-209", ANNOTE = "The concept of partial evaluation of an inference system is defined, and the design of a partial evaluator for the language Typol of inference rules is described."} @InProceedings{Hatcliff:1996:ReasoningAbout, author = "J. Hatcliff and R. Gl{\"u}ck", title = "Reasoning about Hierarchies of Online Program Specialization Systems", crossref = "Danvy:1996:PartialEvaluation", pages = "161-182"} @ARTICLE{ Heering:1986:Partial, AUTHOR = "J. Heering", TITLE = "Partial Evaluation and $\omega$-Completeness of Algebraic Specifications", JOURNAL = "Theoretical Computer Science", YEAR = "1986", VOLUME = "43", PAGES = "149-167", ANNOTE = "An investigation of omega-completeness of algebraic specifications suggests that for non-trivial languages, no partial evaluation algorithm can be devised that always makes `maximal use' of the available input or `performs as much computation in advance as possible'."} @InProceedings{Heldal:1992:GeneratingMore, author = "R. Heldal", title = "Generating More Practical Compilers by Partial Evaluation", booktitle = "Functional Programming, Glasgow 1991", year = "1992", editor = "R. Heldal and C. {Kehler Holst} and P. Wadler", pages = "158-163", publisher = S-V, OPTnote = ""} @InProceedings{Henglein:1991:EfficientType, author = "F. Henglein", title = "Efficient Type Inference for Higher-Order Binding-Time Analysis", booktitle = "Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523)", year = "1991", editor = "J. Hughes", pages = "448-472", organization = "ACM", publisher = S-V, note = ""} @InProceedings{Henglein:1994:PolymorphicBinding-Time, author = "F. Henglein and C. Mossin", title = "Polymorphic Binding-Time Analysis", booktitle = "Programming Languages and Systems --- ESOP'94. 5th European Symposium on Programming, Edinburgh, U.K., April 1994 (Lecture Notes in Computer Science, vol. 788)", year = "1994", editor = "D. Sannella", pages = "287-301", publisher = S-V, OPTnote = ""} @InProceedings{Hickey:1991:PartialEvaluation, author = "T.H. Hickey and D.A. Smith", title = "Toward the Partial Evaluation of CLP Languages", booktitle = PEPM, year = "1991", pages = "43-51", publisher = ACM, OPTnote = ""} @INPROCEEDINGS{ Holst:1988:LanguageTriplets, AUTHOR = "N.C.K. Holst", TITLE = "Language Triplets: The {AMIX} Approach", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "167-185", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The theory of language triplets is presented. This theory describes partial evaluation and compiler generation in a natural way. It is further shown how using this theory it is possible to derive compiler generators which produce compilers in low level languages from high level language definitions by means of partial evaluation."} @MastersThesis{Holst:1989:ProgramSpecialization, author = "N.C.K. Holst", title = "Program Specialization for Compiler Generation", school = "DIKU, University of Copenhagen, Denmark", year = "1989", month = "May"} @InProceedings{Holst:1991:PartialEvaluation, author = "C.K. Holst and C.K. Gomard", title = "Partial Evaluation is Fuller Laziness", booktitle = PEPM, year = "1991", pages = "223-233", publisher = ACM, OPTnote = ""} @InProceedings{Holst:1991:ALoop-Detecting, author = "C.K. Holst and J. Hughes", title = "A Loop-Detecting Interpreter for Lazy Programs", booktitle = "Draft Proceedings, Fourth Annual Glasgow Workshop on Functional Programming, Skye, Scotland", year = "1991", OPTeditor = "", pages = "199-209", organization = "Glasgow University", OPTnote = ""} @InProceedings{Holst:1991:HandwritingCogen, author = "C.K. Holst and J. Launchbury", title = "Handwriting Cogen to Avoid Problems with Static Typing", booktitle = "Draft Proceedings, Fourth Annual Glasgow Workshop on Functional Programming, Skye, Scotland", year = "1991", OPTeditor = "", pages = "210-218", organization = "Glasgow University", OPTnote = ""} @InProceedings{Holst:1991:FinitenessAnalysis, author = "C.K. Holst", title = "Finiteness Analysis", booktitle = "Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523)", year = "1991", editor = "J. Hughes", pages = "473-495", organization = "ACM", publisher = S-V, note = ""} @InProceedings{Holst:1991:TowardsBinding-Time, author = "C.K. Holst and J. Hughes", title = "Towards Binding-Time Improvement for Free", booktitle = "Functional Programming, Glasgow 1990", year = "1991", editor = "Peyton Jones, S.L. and G. Hutton and Kehler Holst, C.", pages = "83-100", publisher = S-V, OPTnote = ""} @TechReport{Hoppe:1991:AnAnalysis, author = "U.H. Hoppe", title = "An Analysis of {EBG} and Its Relation to Partial Evaluation", institution = "Gesellschaft f{\"u}r Mathematik und Datenverarbeitung, Sankt Augustin, Germany", year = "1991", type = "Arbeitspapiere der GMD", number = "572", OPTnote = ""} @INPROCEEDINGS{ Hughes:1988:Backwards, AUTHOR = "J. Hughes", TITLE = "Backwards Analysis of Functional Programs", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "187-208", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "A framework for backwards analysis of functional programs is introduced. It is shown that backwards analysis can be extended to derive information about data structures and higher order functions in typed languages."} @InProceedings{Hughes:1996:Type, author = "J. Hughes", title = "Type Specialisation for the $\lambda$-calculus; or, A New Paradigm for Partial Evaluation Based on Type Inference", crossref = "Danvy:1996:PartialEvaluation", pages = "183-215"} @InProceedings{Hunt:1991:BindingTime, author = "S. Hunt and D. Sands", title = "Binding Time Analysis: A New {PER}spective", booktitle = PEPM, year = "1991", pages = "154-165", publisher = ACM, OPTnote = ""} @Article{Huntbach:1989:Meta-Interpreters, author = "M. Huntbach", title = "Meta-Interpreters and Partial Evaluation of {Prolog}", journal = "Formal Aspects of Computing", year = "1989", volume = "1", number = "2", pages = "193-211", OPTnote = ""} IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ARTICLE{ Itkin:1980:Characterization, AUTHOR = "V.E. Itkin", TITLE = "Characterization of Structured Control-Flow Graphs", JOURNAL = "Doklady Akademii Nauk SSSR", YEAR = "1980", NOTE = "(In Russian)", VOLUME = "250", NUMBER = "2", PAGES = "1077-1080", ANNOTE = "Some topological criteria for compositional structure of a flow graph are proposed in terms of mixed computation."} @INCOLLECTION{ Itkin:1983:Dynamic, AUTHOR = "V.E. Itkin", TITLE = "Dynamic Program Parallelization Based on Mixed Computation", BOOKTITLE = "Theoretical Problems in Parallel Programming and Multiprocessor Computers", PAGES = "110-126", PUBLISHER = "Novosibirsk, USSR", YEAR = "1983", NOTE = "(In Russian)", ANNOTE = "Mixed computation of programs is defined in abstract terms as a set of interactions between a group of constant assignment statements and other program statements."} @INCOLLECTION{ Itkin:1983:Incompleteness, AUTHOR = "V.E. Itkin", TITLE = "Incompleteness As an Attribute of Research Programs", BOOKTITLE = "Methodological Problems of Research Programs", PAGES = "54-64", PUBLISHER = "Novosibirsk, USSR", YEAR = "1983", NOTE = "(In Russian)", ANNOTE = "Incompleteness has been regarded as a motor of human constructive activities. Some criteria of effectivity of partial activity are investigated. A general definition of program and a concept of generator as a reflexive superstructure upon the program are given."} @INCOLLECTION{ Itkin:1983:Natural, AUTHOR = "V.E. Itkin", TITLE = "Natural Modularity and Symmetry of Structured Programs", BOOKTITLE = "Compilation and Program Models", PAGES = "13-22", PUBLISHER = CCN, YEAR = "1983", NOTE = "(In Russian)", ANNOTE = "Some compositional criteria for topological structure of a parallel flow graph are given."} @INCOLLECTION{ Itkin:1983:OnPartial:Russian, AUTHOR = "V.E. Itkin", TITLE = "On Partial and Mixed Program Execution", BOOKTITLE = "Program Optimization and Transformation", PAGES = "17-30", PUBLISHER = CCN, YEAR = "1983", NOTE = "(In Russian)", ANNOTE = "Dashed-line and polyvariant strategies of mixed computation are developed. The program graph node mark 'ignoring' and an indication of direction for a residual program representation is proposed. The thesis is advanced that the concept of a program being structured is similar to that of a program being suited to effective mixed computation."} @ARTICLE{ Itkin:1984:Algebra, AUTHOR = "V.E. Itkin", TITLE = "Algebra of Mixed Program Execution", JOURNAL = "Doklady Akademii Nauk SSSR", YEAR = "1984", NOTE = "(In Russian)", VOLUME = "275", NUMBER = "6", PAGES = "1332-1336", ANNOTE = "An algebra of programs, deterministic memory states and subsets of the set of memory locations is given. By means of this algebra, the correctness of some superoperators of mixed computation is proved."} @INCOLLECTION{ Itkin:1984:Axiomatics, AUTHOR = "V.E. Itkin", TITLE = "Axiomatics of Complete and Partial Program Execution", BOOKTITLE = "Program Compilation and Transformation", PAGES = "69-93", PUBLISHER = CCN, YEAR = "1984", NOTE = "(In Russian)", ANNOTE = "An axiomatic system for the concepts of completeness of input information, program input, and program output is proposed. This is used to prove the correctness of mixed computation."} @INCOLLECTION{ Itkin:1984:ProgramParallelization, AUTHOR = "V.E. Itkin", TITLE = "Program Parallelization Algebra", BOOKTITLE = "Theoretical and Applied Aspects of Parallel Information Processing", PAGES = "3-24", PUBLISHER = CCN, YEAR = "1984", NOTE = "(In Russian)", ANNOTE = "The correctness of some superoperators of the dashed-line and polyvariant mixed computation is proved using algebraic and axiomatic tools."} @INCOLLECTION{ Itkin:1985:OnAlgebra, AUTHOR = "V.E. Itkin", TITLE = "On Algebra and Axiomatics of Program Parallelization", BOOKTITLE = "Theory of Programming and Representation of Discrete Systems Parallelism", PAGES = "38-53", PUBLISHER = CCN, YEAR = "1985", NOTE = "(In Russian)", ANNOTE = "A method of two-step parallel execution of the superposition (concatenation) of two programs is proposed."} @INCOLLECTION{ Itkin:1986:OnAlgebra, AUTHOR = "V.E. Itkin", TITLE = "On Algebra and Logic of Parallelization of Function Superposition", BOOKTITLE = "Theoretical Aspects of Information Processing", PAGES = "18-33", PUBLISHER = CCN, YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "An algebra of deterministic memory states and subsets of the set of memory locations is transformed first into an algebra of non-deterministic memory states and then further into a quasi-boolean algebra of abstract `information elements'. A method of parallel execution of superposition of programs is formulated in terms of this algebra."} @INPROCEEDINGS{ Itkin:1988:AnAlgebra, AUTHOR = "V.E. Itkin", TITLE = "An Algebra and Axiomatization System of Mixed Computation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "209-224", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "An axiomatic system for the concepts of completeness of input information, program input and program output is proposed. It is used to prove the correctness of mixed computation and parallel execution of superposition of programs."} @InCollection{Itkin:1989:AnAlgebra, author = "V.E. Itkin", title = "An Algebra and Axiomatization System of Mixed Computation", booktitle = "Methods of Theoretical and Experimental Computer Science", publisher = "Computing Center, Siberian Branch of the USSR Academy of Sciences", year = "1989", editor = "V.E. Kotov", pages = "23-41", address = "Novosibirsk, USSR", OPTnote = ""} @Article{Itkin:1991:AnAlgebra, author = "V.E. Itkin", title = "An Algebra of Mixed Computation", journal = TCS, year = "1991", volume = "90", number = "1", pages = "81-93", note = "Also in D.\ Bj{\o}rner and V.\ Kotov: Images of Programming, North-Holland, 1991"} JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ @Unpublished{Jacobsen:1990:SpeedingUp, author = "H.F. Jacobsen", title = "Speeding Up the Back-Propagation Algorithm by Partial Evaluation", note = "Student Project 90-10-13, DIKU, University of Copenhagen, Denmark. (In Danish)", year = "1990", month = "October"} @MastersThesis{Joergensen:1992:CompilerGeneration, author = "J. J{\o}rgensen", title = "Compiler Generation by Partial Evaluation", school = DIKU, year = "1992", note = "Student Project 92-1-4"} @InProceedings{Joergensen:1991:Generating, author = "J. J{\o}rgensen", title = "Generating a Pattern Matching Compiler by Partial Evaluation", booktitle = "Functional Programming, Glasgow 1990", year = "1991", editor = "Peyton Jones, S.L. and G. Hutton and Kehler Holst, C.", pages = "177-195", publisher = S-V, OPTnote = ""} @InProceedings{Joergensen:1992:GeneratingACompiler, author = "J. J{\o}rgensen", title = "Generating a Compiler for a Lazy Language by Partial Evaluation", booktitle = "Nineteenth ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico, January 1992", year = "1992", pages = "258-268", publisher = ACM, note = ""} @TechReport{Joergensen:1996:EfficientlyGenerating, author = "J. J{\o}rgensen and M. Leuschel", title = "Efficiently Generating Efficient Generating Extensions in {Prolog}", institution = "Department of Computer Science, Katholieke Universiteit Leuven, Belgium", year = "1996", number = "CW 221", OPTnote = "", OPTannote = ""} @InProceedings{Joergensen:1996:EfficientlyGenerating:Dagstuhl, author = "J. J{\o}rgensen and M. Leuschel", title = "Efficiently Generating Efficient Generating Extensions in {Prolog}", crossref = "Danvy:1996:PartialEvaluation", pages = "238-262"} @INPROCEEDINGS{ Joerring:1986:Compilers, AUTHOR = "U. J{\o}rring and W.L. Scherlis", TITLE = "Compilers and Staging Transformations", BOOKTITLE = "Thirteenth ACM Symposium on Principles of Programming Languages, St. Petersburg, Florida", YEAR = "1986", PAGES = "86-96", publisher = ACM, ANNOTE = "The so-called staging transformations are program transformations intended to exploit the fact that some data become available at an earlier stage than others. These transformations are used for the derivation of a compiler from an interpreter."} @InProceedings{Jones:1976:BindingTime, author = "N.D. Jones and S.S. Muchnick", title = "Binding Time Optimization in Programming Languages: Some Thoughts Toward the Design of an Ideal Language", booktitle = "Third ACM Symposium on Principles of Programming Languages, Atlanta, Georgia", year = "1976", pages = "77-94", publisher = ACM, OPTnote = ""} @Book{Jones:1978:TEMPO, author = "N.D. Jones and S.S. Muchnick", title = "TEMPO: A Unified Treatment of Binding Time and Parameter Passing Concepts in Programming Languages (Lecture Notes in Computer Science, vol. 66)", publisher = S-V, year = "1978", OPTnote = ""} @InProceedings{Jones:1980:CompilerGeneration, author = "N.D. Jones and D.A. Schmidt", title = "Compiler Generation from Denotational Semantics", BOOKTITLE = "Semantics-Directed Compiler Generation, Aarhus, Denmark (Lecture Notes in Computer Science, vol. 94)", EDITOR = "N.D. Jones", year = "1980", pages = "70-93", publisher = S-V, OPTnote = ""} @INPROCEEDINGS{ Jones:1985:AnExperiment, AUTHOR = "N.D. Jones and P. Sestoft and H. S{\o}ndergaard", TITLE = "An Experiment in Partial Evaluation: The Generation of a Compiler Generator", BOOKTITLE = "Rewriting Techniques and Applications, Dijon, France. (Lecture Notes in Computer Science, vol. 202)", EDITOR = "J.-P. Jouannaud", PUBLISHER = S-V, YEAR = "1985", PAGES = "124-140", ANNOTE = "A self-applicable partial evaluator for (first order) pure Lisp is described. It works in two phases and requires user-made annotations of calls in subject programs. The semi-automatic generation of experimental compilers and a compiler generator is reported, and the results of these generations are discussed."} @INCOLLECTION{ Jones:1986:DataFlowAnalysis, AUTHOR = "N.D. Jones and A. Mycroft", TITLE = "Data Flow Analysis of Applicative Programs Using Minimal Function Graphs", BOOKTITLE = "Thirteenth ACM Symposium on Principles of Programming Languages, St. Petersburg, Florida", PUBLISHER = ACM, YEAR = "1986", PAGES = "296-306", ANNOTE = "The following problem is addressed: What is the natural analog for functional programs of Cousot's collecting semantics? An answer is given using the minimal set of (argument, result) pairs sufficient to compute on a given input set, and a framework for static program analysis including `constant propagation' is developed."} @INPROCEEDINGS{ Jones:1987:ASemantics-BasedFramework, AUTHOR = "N.D. Jones and H. S{\o}ndergaard", TITLE = "A Semantics-Based Framework for the Abstract Interpretation of {P}rolog", BOOKTITLE = "Abstract Interpretation of Declarative Languages", EDITOR = "S. Abramsky and C. Hankin", PUBLISHER = "Chichester:\ Ellis Horwood", YEAR = "1987", PAGES = "123-142", ANNOTE = "A method resembling minimal function graphs is given for the static analysis of Prolog programs. It is based on the use of varying interpretations of a common core semantics for Prolog."} @INCOLLECTION{ Jones:1987:FlowAnalysisofLazy, AUTHOR = "N.D. Jones", TITLE = "Flow Analysis of Lazy Higher-Order Functional Programs", BOOKTITLE = "Abstract Interpretation of Declarative Languages", EDITOR = "S. Abramsky and C. Hankin", PUBLISHER = "Chichester:\ Ellis Horwood", YEAR = "1987", PAGES = "103-122", ANNOTE = "A method is presented for static analysis of programs manipulating tree-structured data. An algorithm is given that constructs from a program in term rewriting system form a tree grammar safely approximating the program's variable bindings and intermediate results."} @UNPUBLISHED{ Jones:1987:TowardsAutomating, AUTHOR = "N.D. Jones", TITLE = "Towards Automating the Transformation of Programming Language Specifications into Compilers", NOTE = DIKU, YEAR = "1987", ANNOTE = "An overview is given of semantics-directed compiler generation including summaries of earlier work by others and by the author towards that goal. Part II deals with controlling complexity in semantics and compiler specfications and describes the then current state of the Mix partial evaluation project."} @INPROCEEDINGS{ Jones:1988:AutomaticProgram, AUTHOR = "N.D. Jones", TITLE = "Automatic Program Specialization: A Re-Examination from Basic Principles", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "225-282", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "A careful formulation and investigation of fundamental problems involved in automatic program specialization, including the first precise description of the semantic issues underlying binding time analysis"} @UNPUBLISHED{ Jones:1988:StaticSemantics, AUTHOR = "N.D. Jones", TITLE = "Static Semantics and