Bibliography on partial evaluation and mixed computation (BibTeX format). Author: Peter Sestoft. Last update: 1998-09-22 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 at http://www.itu.dk/people/sestoft/pebook/partial-eval.bib Please send corrections, updates, and new entries by mail or e-mail to Peter Sestoft IT University of Copenhagen * sestoft@itu.dk * www.itu.dk/people/sestoft Rued Langgaards Vej 7, DK-2300 Copenhagen S, Denmark * Tel +45 72 18 50 83 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 = "Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991)"} @STRING{PEPM92 = "Partial Evaluation and Seman\-tics-Based Program Manipulation, San Francisco, California, June 1992 (Technical Report {YALEU/DCS/RR}-909)"} @STRING{PEPM93 = "Partial Evaluation and Seman\-tics-Based Program Manipulation, Copenhagen, Denmark, June 1993"} @STRING{PEPM94 = "Partial Evaluation and Seman\-tics-Based Program Manipulation, Orlando, Florida, June 1994 (Technical Report 94/9, Department of Computer Science, University of Melbourne)"} @STRING{PEPM95 = "Partial Evaluation and Seman\-tics-Based Program Manipulation, La Jolla, California, June 1995"} @STRING{PEPM97 = "Partial Evaluation and Seman\-tics-Based Program Manipulation, Amsterdam, The Netherlands, June 1997"} @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{BRICS = "BRICS, Department of Computer Science, Aarhus University"} @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{ACM:1997:PEPM, title = "Symposium on Partial Evaluation and Semantics-Based Program Manipulation", year = "1997", organization = "ACM", address = "Amsterdam, Netherlands", month = "June", acquired = "1997-06-16", 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 = ""} @InProceedings{Alpuente:1997:SpecializationOf, author = "M. Alpuente and M. Falschi and P. Juli{\'a}n and G. Vidal", title = "Specialization of Lazy Functional Logic Programs", pages = "151-162", booktitle = PEPM97, year = "1997", publisher = ACM, 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"} @TechReport{Andersen:1992:CProgram, author = "L.O. Andersen", title = "C Program Specialization", institution = DIKU, year = "1992", number = "92/14", month = "May", note = "", annote = "A self-applicable partial evaluator for a subset of the C programming language is developed and described"} @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:Self-ApplicableC, author = "L.O. Andersen", title = "Self-Applicable {C} Program Specialization", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "54--61", month = "June", note = ""} @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:1994:ProgramAnalysis, 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{Asai:1997:PartialEvaluation, author = "K. Asai and H. Masuhara and A. Yonezawa", title = "Partial Evaluation of Call-by-value $\lambda$-calculus with Side-effects", pages = "12-21", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @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 = ""} @InProceedings{Augustsson:1997:PartialEvaluation, author = "L. Augustsson", title = "Partial Evaluation in Aircraft Crew Planning", pages = "127-136", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @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 = ""} @InProceedings{Beshers:1997:GeneratingEfficient, author = "C. Beshers and S. Feiner", title = "Generating Efficient Virtual Worlds for Visualization Using Partial Evaluation and Dynamic Compilation", pages = "107-115", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @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 Mixed 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{Bossi:1998:SpecializingLogic, author = "A. Bossi and S. Rossi", title = "Specializing Logic Programs wrt Pre/Post Specifications", editor = "P. Flener and K.-K. Lau", OPTpages = "", booktitle = "LOPSTR'98, Manchester, United Kingdom, June 1998", year = "1998", OPTpublisher = "", OPTnote = "(Preliminary proceedings)", OPTannote = ""} @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:1992:SafeFusion, author = "W.-N. Chin", title = "Safe Fusion of Functional Expressions", pages = "11--20", booktitle = "1992 Lisp and Functional Programming, San Francisco, California", year = 1992, publisher = ACM, keywords = "deforestation, fusion, higher-order, termination"} @Article{Chin:1994:SafeFusion, author = "W.-N. Chin", title = "Safe Fusion of Functional Expressions {II}: Further Improvements", journal = JFP, year = 1994, volume = 4, number = 4, pages = "515--555", keywords = "deforestation, fusion, higher-order, termination"} @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"} @Proceedings{Clement:1992:Lopstr91, title = "Logic Program Synthesis and Transformation, {L}o{PST}r'91, Manchester, United Kingdom, 1991", year = "1992", editor = "T. P. Clement and K.-K. Lau", series = "Workshops in Computing", publisher = S-V} @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"} @TechReport{Consel:1990:Semantics-DirectedGeneration, author = "C. Consel and S.C. Khoo", title = "Semantics-Directed Generation of a Prolog Compiler", institution = "Yale University", year = 1990, number = "YALEU/DCS/RR-781", address = "New Haven, Connecticut", month = "May", keywords = "compiler generation, Futamura projections, semantics"} @Manual{Consel:1990:TheSchism, author = "C. Consel", title = "The {S}chism Manual, Version 1.0", Organization = "Yale University", address = "New Haven, Connecticut", month = "December", year = "1990", note = ""} @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:ATour, author = "C. Consel", title = "A Tour of Schism: A Partial Evaluation System for Higher-Order Applicative Languages", booktitle = PEPM93, year = "1993", pages = "145-154", publisher = ACM, 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 others", 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:Semantics-Based, author = "O. Danvy and R. Vestergaard", title = "Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation", booktitle = "Eighth International Symposium on Programming Language Implementation and Logic Programming. (Lecture Notes in Computer Science, vol. 1140)", publisher = S-V, editor = "Herbert Kuchen and Doaitse Swierstra", pages = "182-197", note = "Extended version available as the technical report BRICS-RS-96-13" } @Article{Danvy:1996:Eta-Expansion, author = "O. Danvy and K. Malmkj{\ae}r and J. Palsberg", title = "Eta-Expansion does {T}he {T}rick", journal = toplas, year = 1996, volume = 8, number = 6, pages = "730-751" } @Article{Danvy:1996:Resource-Bounded, author = "O. Danvy and N.C. Heintze and K. Malmkj{\ae}r", title = "Resource-Bounded Partial Evaluation", journal = "ACM Computing Surveys", year = 1996, volume = 28, number = 2, month = Jun, pages = "329-332" } @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"} @TechReport{Danvy:1997:PartialEvaluation, author = "O. Danvy and M. Goldberg", title = "Partial Evaluation of the {Euclidean} Algorithm", institution = BRICS, year = "1997", number = "RS-97-1", OPTnote = "", OPTannote = ""} @TechReport{Danvy:1998:ASimple, author = "Olivier Danvy", title = "A Simple Solution to Type Specialization", institution = "Department of Computer Science, University of Aarhus", year = 1998, type = "Technical Report", number = "BRICS RS-98-1", address = "Aarhus, Denmark", month = Jan, note = "To appear in the proceedings of ICALP'98" } @InProceedings{Danvy:1998:Higher-Order, author = "O. Danvy and Rose, K. H{\o}gsbro", title = "Higher-Order Rewriting and Partial Evaluation", booktitle = "Rewriting Techniques and Applications. (Lecture Notes in Computer Science, vol. XXXX)", editor = "T. Nipkow", OPTpages = "124-140", note = "Extended version available as the technical report BRICS-RS-97-46" } @InProceedings{Danvy:1998:OnlineType-Directed, author = {O. Danvy}, title = {Online Type-Directed Partial Evaluation}, booktitle = {Proceedings of the Third Fuji International Symposium on Functional and Logic Programming}, OPTcrossref = {}, OPTkey = {}, editor = {Masahiko Sato and Yoshihito Toyama}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, year = {1998}, OPTorganization = {}, publisher = {World Scientific}, address = {Kyoto, Japan}, month = Apr, pages = {271-295}, note = {Extended version available as the technical report BRICS RS-97-53}, OPTannote = {} } @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{Debray:1997:Resource-Bounded, author = "S. Debray", title = "Resource-Bounded Partial Evaluation", pages = "179-192", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @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 = ""} @PhdThesis{DeNiel:1993:Self-Applicable, author = "De Niel, A.", title = "Self-Applicable Partial Evaluation of Polymorphically Typed Functional Languages", school = "Katholieke Universiteit Leuven", year = 1993, address = "Leuven, Belgium"} @Proceedings{Deville:1994:Lopstr93, title = "Logic Program Synthesis and Transformation, {L}o{PST}r'93, Louvain-la-Neuve, Belgium, 1993", year = "1994", editor = "Y. Deville", series = "Workshops in Computing", publisher = S-V} @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{Draves:1997:ImplementingBit-addressing, author = "S. Draves", title = "Implementing Bit-addressing with Specialization", pages = "239-250", booktitle = "International Conference on Functional Programming (ICFP'97), Amsterdam, The Netherlands, June 1997", year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @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 = ""} @InProceedings{Dussart:1995:PolymorphicRecursion, author = "D. Dussart and F. Henglein and C. Mossin", title = "Polymorphic Recursion and Subtype Qualifications: Polymorphic Binding-Time Analysis in Polynomial Time", editor = "A. Mycroft", pages = "118--136", booktitle = "International Static Analysis Symposium, Glasgow, Scotland, September 1995, (Lecture Notes in Computer Science, vol. 983)", year = 1995, publisher = S-V, keywords = "polymorphism, binding-time analysis, subtyping, qualified types, polymorphic recursion, Kleene-Mycroft Iteration"} @InProceedings{Dussart:1997:TypeSpecialization, author = "D. Dussart and J. Hughes and P. Thiemann", title = "Type Specialization for Imperative Languages", pages = "204-216", booktitle = "International Conference on Functional Programming (ICFP'97), Amsterdam, The Netherlands, June 1997", year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Dussart:1997:Module-Sensitive, author = "D. Dussart and R. Heldal and J. Hughes", title = "Module-Sensitive Program Specialisation", pages = "206--214", booktitle = "SIGPLAN '97 Conference on Programming Language Design and Implementation, June 1997, Las Vegas", publisher = ACM, year = "1997", keywords = "cogen approach, polymorphic binding-time analysis"} @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 = ""} @InProceedings{Etalle:1997:ATransformation, author = "S. Etalle and M. Gabbrielli and E. Marchiori", title = "A Transformation System for {CLP} with Dynamic Scheduling and {CCP}", pages = "137-150", booktitle = PEPM97, year = "1997", 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."} @Proceedings{Fribourg:1994:Lopstr94, title = "Logic Program Synthesis and Transformation -- Meta-Programming in Logic, 4th International Workshops, LOPSTR'94 and META'94, Pisa, Italy, June 1994", year = "1994", editor = "L. Fribourg and F. Turini", volume = "883", series = "Lecture Notes in Computer Science", publisher = S-V} @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"} @Proceedings{Gallagher:1997:Lopstr96, title = "Logic Program Synthesis and Transformation, 6th International Workshop, LOPSTR'96, Stockholm, Sweden, August 1996", year = "1997", editor = "J. Gallagher", volume = "1207", series = "Lecture Notes in Computer Science", publisher = S-V} @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{Gengler:1997:Self-ApplicablePartial, author = "M. Gengler and M. Martel", title = "Self-applicable Partial Evaluation for the pi-calculus", pages = "36-46", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @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{Gill:1993:AShortCut, author = "A. Gill and J. Launchbury and Peyton Jones, S.L.", title = "A Short Cut to Deforestation", booktitle = "Functional Programming Languages and Computer Architecture, Copenhagen, Denmark, 1993", year = 1993, keywords = "deforestation, fusion"} @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:GeneratingTransformers, author = "R. Gl{\"u}ck and J. J{\o}rgensen", title = "Generating Transformers for Deforestation and Supercompilation", year = "1994", editor = "Le Charlier, B.", pages = "432--448", booktitle = "4th International Workshop on Static Analysis, 1994. (Lecture Notes in Computer Science, vol. 864)", publisher = S-V, keywords = "partial evaluation, specializer projections, program generation, supercompilation, deforestation", annote = "The paper uses a new interpretive approach --- inserting an interpreter between a source program and a program specializer --- to improve the transformation of programs and to automatically generate program transformers. As defined by the specializer projections one may generate stand-alone transformers by self-application of a program specializer. We show that one can generate Wadler's deforestation algorithm and a version of Turchin's supercompiler this way."} @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", booktitle = "14th International Congress on Cybernetics, Namur, Belgium, August 1995", year = 1995} @InProceedings{Glueck:1995:EfficientMulti-Level, author = "R. Gl{\"u}ck and J. J{\o}rgensen", title = "Efficient Multi-Level Generating Extensions for Program Specialization", pages = "259--278", booktitle = "Programming Languages, Implementations, Logics, and Programs, Utrecht, The Netherlands, September 1995. (Lecture Notes in Computer Science, vol.\ 982)", year = 1995, publisher = S-V, keywords = "multi-level partial evaluation, cogen approach"} @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:ARoadmap, 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"} @Article{Glueck:1997:AnAutomatic, author = "R. Gl{\"u}ck and J. J{\o}rgensen", title = "An Automatic Program Generator for Multi-Level Specialization", journal = "Lisp and Symbolic Computation", year = "1997", volume = "10", OPTnumber = "", pages = "113-158", OPTmonth = "", OPTnote = "", OPTannote = ""} @InProceedings{Glueck:1998:GeneralizationIn, author = "R. Gl{\"u}ck and J. Hatcliff and J. J{\o}rgensen", title = "Generalization in Hierarchies of Online Program Specialization Systems", editor = "P. Flener and K.-K. Lau", OPTpages = "", booktitle = "LOPSTR'98, Manchester, United Kingdom, June 1998", year = "1998", OPTpublisher = "", OPTnote = "(Preliminary proceedings)", OPTannote = ""} @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 = ""} @InProceedings{Grant:1997:Annotation-Directed, author = "B. Grant and others", title = "Annotation-Directed Run-Time Specialization in {C}", pages = "163-178", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @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{Hatcliff:1997:AComputational, author = "John Hatcliff and Olivier Danvy", title = "A Computational Formalization for Partial Evaluation", journal = MSCS, year = 1997, vol = 7, pages = "507-541", note = {Extended version available as the technical report BRICS RS-96-34} } @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{Heldal:1997:PartialEvaluation, author = "R. Heldal and J. Hughes", title = "Partial Evaluation and Separate Compilation", pages = "1-11", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @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, keywords = "binding time analysis, polymorphism, polymorphic recursion", 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{Hornof:1997:AccurateBinding-time, author = "L. Hornof and J. Noy{\'e}", title = "Accurate Binding-Time Analysis for Imperative Languages: Flow, Context, and Return Sensitivity", pages = "63-73", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Hosoya:1996:PartialEvaluation, author = "H. Hosoya and N. Kobayashi and A. Yonezawa", title = "Partial evaluation scheme for concurrent languages and its correctness", editor = "L. Boug{\'e} and others", pages = "625-632", booktitle = "Euro-Par'96 - Parallel Processing, Lyon, France. (Lecture Notes in Computer Science, vol. 1123)", year = "1996", publisher = S-V, OPTnote = "", OPTannote = ""} @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, annote = "The paper describes an implementation of a lazy functional language by partial evaluation. It describes the methods used, especially the binding time improvements. The resulting compiler is compared with a compiler for Miranda and a compiler for LML.", keywords = "compiler generation, partial evaluation, binding time improvements, lazy functional languages"} @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 Binding Time Analysis", NOTE = "Working paper, DIKU, University of Copenhagen, Denmark", YEAR = "1988", ANNOTE = "A working paper discussing the purpose and nature of static semantics and type checking, ending with some examples that suggest the possibility of automatically deriving a static semantics with the aid of binding time analysis."} @ARTICLE{ Jones:1989:Mix, AUTHOR = "N.D. Jones and P. Sestoft and H. S{\o}ndergaard", TITLE = "Mix: A Self-Applicable Partial Evaluator for Experiments in Compiler Generation", JOURNAL = "Lisp and Symbolic Computation", YEAR = "1989", VOLUME = "2", NUMBER = "1", PAGES = "9-50", ANNOTE = "A comprehensive discussion of partial evaluation, its applications to generation of compilers and compiler generators, and of engineering problems is given. A fully automatic version of the partial evaluator discussed in \cite{Jones:1985:AnExperiment} is described and results from its use are reported."} @InProceedings{Jones:1990:ASelf-Applicable, author = "N.D. Jones and C.K. Gomard and A. Bondorf and O. Danvy and T. Mogensen", title = "A Self-Applicable Partial Evaluator for the Lambda Calculus", booktitle = "1990 International Conference on Computer Languages, New Orleans, Louisiana, March 1990", year = "1990", pages = "49-58", publisher = IEEECSP, note = ""} @InProceedings{Jones:1990:PartialEvaluation, author = "N.D. Jones", title = "Partial Evaluation, Self-Application and Types", booktitle = "Automata, Languages and Programming. 17th International Colloquium, Warwick, England (Lecture Notes in Computer Science, vol. 443)", year = "1990", editor = "M.S. Paterson", pages = "639-659", publisher = S-V, OPTnote = ""} @Article{Jones:1991:StaticSemantics, author = "N.D. Jones", title = "Static Semantics, Types, and Binding Time Analysis", journal = TCS, year = "1991", volume = "90", number = "1", pages = "95-118", note = "Also in D.\ Bj{\o}rner and V.\ Kotov: Images of Programming, North-Holland, 1991"} @InProceedings{Jones:1991:EfficientAlgebraic, author = "N.D. Jones", title = "Efficient Algebraic Operations on Programs", booktitle = "AMAST: Algebraic Methodology and Software Technology", pages = "245-267", month = May, year = "1991", address = "University of Iowa, USA"} @incollection{Jones:1992:ComputerImplementation, author = "N.D. Jones", title = "Computer Implementation and Applications of {Kleene}'s S-m-n and Recursion Theorems", booktitle = "Logic from Computer Science, November 1989", editor = "Y.N. Moschovakis", publisher = S-V, year = "1989", pages = "243-263"} @Book{Jones:1993:PartialEvaluation, author = "N.D. Jones and C.K. Gomard and P. Sestoft", title = "Partial Evaluation and Automatic Program Generation", publisher = P-H, year = "1993", isbn = "0-13-020249-5", note = ""} @TechReport{Jones:1993:PartialEvaluationFor, author = "M.P. Jones", title = "Partial Evaluation for Dictionary-Free Overloading", institution = Yale, year = "1993", type = "Research Report", number = "YALEU/DCS/RR-959", OPTnote = ""} @InProceedings{Jones:1994:Dictionary-FreeOverloading, author = "M.P. Jones", title = "Dictionary-Free Overloading by Partial Evaluation", booktitle = PEPM94, year = "1994", pages = "107-117", note = ""} @Article{Jones:1995:Dictionary-Free, author = "M. Jones", title = "Dictionary-Free Overloading by Partial Evaluation", journal = LASC, year = "1995", volume = "8", number = "3", pages = "229-248", month = "September", OPTnote = "", OPTannote = ""} @InProceedings{Jones:1995:MixTen, author = "N.D. Jones", title = "Mix Ten Years Later", booktitle = PEPM95, year = 1995, publisher = ACM, pages = "24-44", OPTnote = "", OPTannote = ""} @InProceedings{Jones:1996:WhatNot, author = "N.D. Jones", title = "What Not to Do When Writing an Interpreter for Specialisation", crossref = "Danvy:1996:PartialEvaluation", pages = "216-237"} KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK @INPROCEEDINGS{ Kahn:1982:APartial:Marseille, AUTHOR = "K.M. Kahn", TITLE = "A Partial Evaluator of {L}isp Programs Written in {P}rolog", BOOKTITLE = "First International Logic Programming Conference, Marseille, France", EDITOR = "M. Van Caneghem", publisher = "Marseille:\ Association pour la Diffusion et le D{\'e}veloppement de Prolog", YEAR = "1982", PAGES = "19-25", ANNOTE = "A partial evaluator for Lisp written in Prolog is briefly described. It is intended to be applied to a Prolog interpreter written in Lisp in order to achieve compilation of Prolog programs into Lisp. Work on this technique is in progress. Several small example uses of the partial evaluator are given."} @TECHREPORT{ Kahn:1983:APartial:UPMAIL, AUTHOR = "K.M. Kahn", TITLE = "A Partial Evaluator of {L}isp written in {P}rolog", INSTITUTION = "UPMAIL, Uppsala University", ADDRESS = "Sweden", YEAR = "1983", MONTH = "February", TYPE = "Technical Report", NUMBER = "17", ANNOTE = "A slightly edited version of \cite{Kahn:1982:APartial:Marseille}."} @TECHREPORT{ Kahn:1983:PartialEvaluation:UPMAIL, AUTHOR = "K.M. Kahn", TITLE = "Partial Evaluation as an Example of the Relationships between Programming Methodology and Artificial Intelligence", INSTITUTION = "UPMAIL", ADDRESS = "Uppsala University, Sweden", YEAR = "1983", MONTH = "October", TYPE = "Technical Report", NUMBER = "23", ANNOTE = "It is argued that programming methodologies and methodologies of artificial intelligence research depend on each other in important ways. Partial evaluation is presented as an example of this mutual dependency."} @ARTICLE{ Kahn:1984:PartialEvaluation, AUTHOR = "K.M. Kahn", TITLE = "Partial Evaluation, Programming Methodology, and Artificial Intelligence", JOURNAL = "The AI Magazine", YEAR = "1984", VOLUME = "5", NUMBER = "1", PAGES = "53-57", ANNOTE = "An expanded version of \cite{Kahn:1983:PartialEvaluation:UPMAIL}."} @INPROCEEDINGS{ Kahn:1984:TheCompilation, AUTHOR = "K.M. Kahn and M. Carlsson", TITLE = "The Compilation of {P}rolog Programs Without the Use of a {P}rolog Compiler", BOOKTITLE = "International Conference on Fifth Generation Computer Systems, Tokyo, Japan", publisher = "Tokyo:\ Ohmsha and Amsterdam:\ North-Holland", YEAR = "1984", PAGES = "348-355", ANNOTE = "A Prolog interpreter written in Lisp is presented. The partial evaluator described in \cite{Kahn:1982:APartial:Marseille} is applied to this interpreter and Prolog source programs to obtain object programs in Lisp. It is reported that these object programs are one order of magnitude faster than interpretation of source programs."} @INCOLLECTION{ Kaimin:1985:Functional, AUTHOR = "V.A. Kaimin", TITLE = "Functional Specifications, Mixed Computation and Systematic Construction of Algorithms", BOOKTITLE = "Mixed Computation", EDITOR = "A.P. Ershov", PUBLISHER = "Novosibirsk, USSR", YEAR = "1985", NOTE = "(In Russian)", ANNOTE = "An approach to systematic construction of structured algorithms based on functional specifications is presented. A functional semantics of structured algorithms and a definition of functional specification based on mixed computation is given."} @TECHREPORT{ Kasyanov:1978:APractical, AUTHOR = "V.N. Kasyanov", TITLE = "A Practical Approach to Program Optimization", INSTITUTION = CCN, YEAR = "1978", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "135", ANNOTE = "An optimization method and its application to translation and other kinds of automatic programming are described. It is demonstrated how the method can be applied to reduce discrepancies between an program and its usage."} @ARTICLE{ Kasyanov:1980:MixedComputation, AUTHOR = "V.N. Kasyanov", TITLE = "Mixed Computation and Program Optimization", JOURNAL = "Kybernetika", YEAR = "1980", NOTE = "(In Russian)", NUMBER = "2", PAGES = "51-54", ANNOTE = "Mixed computation and program optimization are compared as two approaches to program concretization which preserve the meaning and improves the quality of a program for a given input subspace."} @TECHREPORT{ Kasyanov:1982:Concretization, AUTHOR = "V.N. Kasyanov and I.V. Pottosin", TITLE = "Concretization Systems: Approach and Basic Concepts", INSTITUTION = CCN, YEAR = "1982", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "349", ANNOTE = "The notion of concretization systems as programming environments based on annotated program transformations is introduced."} @INCOLLECTION{ Kasyanov:1982:ProgramConcretization, AUTHOR = "V.N. Kasyanov", TITLE = "Program Concretization Problems", BOOKTITLE = "Problems of Theoretical and Systems Programming", PAGES = "35-45", PUBLISHER = "Novosibirsk State University, Novosibirsk, USSR", YEAR = "1982", NOTE = "(In Russian)", ANNOTE = "Program concretization is defined as improving the quality without disturbing the correctness for a restricted and stable range of program applications, assumed to specify restricted sets of program input and outputs and a particular class of program quality properties."} @TECHREPORT{ Kasyanov:1983:TheArchitecture, AUTHOR = "V.N. Kasyanov and I.V. Pottosin", TITLE = "The Architecture of Concretization Systems", INSTITUTION = CCN, YEAR = "1983", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "455", ANNOTE = "The architecture of concretization systems with respect to three classes of users is described."} @INCOLLECTION{ Kasyanov:1986:AMethod, AUTHOR = "V.N. Kasyanov", TITLE = "A Method for Constructing Qualitative Program Versions", BOOKTITLE = "New Methods for Program Construction", PAGES = "37-48", PUBLISHER = "Novosibirsk State University, Novosibirsk, USSR", YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "Program concretization is considered as program optimization under given assumptions about their usage, represented by annotations. The problems of data flow analysis and reduction of annotated programs are solved. An example of a programming support system based on annotated program transformations is described."} @Article{Kasyanov:1989:TransformationApproach, author = "V.N. Kasyanov", title = "Transformation Approach to Program Concretization", journal = "Cybernetics", year = "1989", volume = "25", number = "6", pages = "740-745", OPTnote = ""} @InProceedings{Kasyanov:1991:ToolsAnd, author = "V.N. Kasyanov", title = "Tools and Techniques of Annotated Programming", booktitle = "Compiler Compilers, Third International Workshop, Schwerin, Germany, October 1990 (Lecture Notes in Computer Science, vol. 477)", year = "1991", editor = "D. Hammer", pages = "117-131", publisher = S-V, OPTnote = ""} @Article{Kasyanov:1991:TransformationalApproach, author = "V. Kasyanov", title = "Transformational Approach to Program Concretization", journal = TCS, year = "1991", volume = "90", number = "1", pages = "37-46", note = "Also in D.\ Bj{\o}rner and V.\ Kotov: Images of Programming, North-Holland, 1991"} @ARTICLE{ Katkov:1984:Program, AUTHOR = "V.L. Katkov and G.V. Ermakov", TITLE = "Program Object Filtering Facilities in the {MIX}-system", JOURNAL = "Upravlyayushchie Sistemy i Machiny (Control Systems and Machines)", YEAR = "1984", NOTE = "(In Russian)", NUMBER = "4", PAGES = "59-63", ANNOTE = "Tools for filtering of program objects in the Mix system, which is oriented to initial learning of assembler programming, are described. Main stages of implementation of the filter mechanism are considered and recommendations for their use in Mix-programs are given."} @InProceedings{Katz:1992:Towards, author = "M. Katz and D. Weise", title = "Towards a New Perspective on Partial Evaluation", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "29-36", OPTnote = ""} @MastersThesis{Keijsers:1990:Par2Cleaner, author = "A. Keijsers", title = "Par{\(^2\)}Cleaner. A Partial Evaluator for Functional Programming Languages Based on Graph Rewriting", school = "Katholieke Universiteit Nijmegen, The Netherlands", year = "1990", month = "April", note = "Scriptie 151"} @InProceedings{Khoo:1991:CompilingInheritance, author = "S.C. Khoo and R.S. Sundaresh", title = "Compiling Inheritance Using Partial Evaluation", booktitle = PEPM, year = "1991", pages = "211-222", publisher = ACM, OPTnote = ""} @TECHREPORT{ Kistlerov:1987:TheBasicPrinciples, AUTHOR = "V.L. Kistlerov", TITLE = "The Basic Principles of the Algebraic Manipulation Language {FLAC}", INSTITUTION = "Institute of Management Problems", ADDRESS = "Moscow, USSR", YEAR = "1987", NOTEe = "(In Russian)", TYPE = "Preprint", ANNOTE = "The basic concepts of the language FLAC are described. It provides means for implementation of algebraic manipulation systems and is based on suspended evaluation. It is argued that all data structures commonly provided by algebraic manipulation systems can be represented as combinations of suspended function calls."} @BOOK{ Kleene:1952:Introduction, AUTHOR = "S.C. Kleene", TITLE = "Introduction to Metamathematics", PUBLISHER = "Princeton, NJ:\ D. van Nostrand", YEAR = "1952", ANNOTE = "A profound treatment of recursive function theory, this book studies properties of the class of partial recursive functions and operations on codes for functions in much detail. Among other things, the S-m-n theorem, enumeration, and the first and second recursion theorems are treated."} @InProceedings{Kleinrubatscher:1994:FortranProgram, author = "Kleinrubatscher, P. and Kriegshaber, A. and Z{\"o}chling, R. and Gl{\"u}ck, R.", title = "Fortran Program Specialization", booktitle = "Workshop Semantikgest{\"u}tzte Analyse, Entwicklung und Generierung von Programmen", publisher = "Justus-Liebig-Universit{\"a}t Giessen, Germany", pages = "", year = "1994", keywords = "partial evaluation, Fortran", annote = "We developed a partial evaluator for a subset of Fortran 77. The partial evaluator is based on the off-line approach and uses a binding-time analysis prior to the specialization phase. The source language includes multi-dimensional arrays, procedures and functions, as well as global storage. The system is presented and experimental results for numerical and non-numerical applications are given.", note = "(to appear)"} @INPROCEEDINGS{ Klimov:1983:Applying, AUTHOR = "A.V. Klimov", TITLE = "Applying the Idea of Mixed Computations to Construction of an Object-Oriented Functional Programming Language", BOOKTITLE = "Semiooticheskie Aspecty Formalicii Intellectualnoj Deyatelnosti", ORGANIZATION = "Shkola-Seminar `TELAVI-83', Moscow", YEAR = "1983", NOTE = "(In Russian)", PAGES = "67-70", ANNOTE = ""} @TECHREPORT{ Klimov:1987:AMeta-Evaluator, AUTHOR = "A.V. Klimov and S.A. Romanenko", TITLE = "A Meta-Evaluator for the Language {R}efal. Basic Concepts and Examples", INSTITUTION = "Keldysh Institute of Applied Mathematics", ADDRESS = "Moscow, USSR", YEAR = "1987", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "71", ANNOTE = "The paper describes a metaevaluator for specializing (partially evaluating) function calls in a Refal program provided that their arguments are partially known. It is argued that programs written in a simple language can be compiled into Refal if the semantics is described by an interpreter written in Refal."} @InCollection{Klimov:1988:TheObject-Functional, author = "A. Klimov", title = "The Object-Functional Model of Computation", booktitle = "Semiotic Aspects of Formalization of Intellectual Activities", publisher = "", year = "1988", pages = "49-53", address = "Moscow", note = "(In Russian)"} @InCollection{Klimov:1988:OnAMethod, author = "A. Klimov", title = "On a Method for Obtaining Fast Parallel Algorithms", booktitle = "Semiotic Aspects of Formalization of Intellectual Activities", publisher = "", year = "1988", pages = "53-56", address = "Moscow", note = "(In Russian)"} @InProceedings{Klimov:1991:DynamicSpecialization, author = "A. Klimov", title = "Dynamic Specialization in Extended Functional Language with Monotone Objects", booktitle = PEPM, year = "1991", pages = "199-210", publisher = ACM, OPTnote = ""} @PhDThesis{Komorowski:1981:ASpecification, AUTHOR = "H.J. Komorowski", TITLE = "A Specification of an Abstract {P}rolog Machine and Its Application to Partial Evaluation", school = "Link{\"{o}}ping University, Sweden", year = "1981", note = "Link{\"{o}}ping Studies in Science and Technology Dissertations 69", ANNOTE = "This is the original work on partial evaluation of Prolog, which is investigated in depth. An abstract Prolog machine is systematically extended to an abstract Prolog partial evaluator, and an implementation of this partial evaluator is developed. Several examples of its use are given. Some directions of future research are pointed out."} @INPROCEEDINGS{ Komorowski:1982:Partial, AUTHOR = "H.J. Komorowski", TITLE = "Partial Evaluation as a Means for Inferencing Data Structures in an Applicative Language: A Theory and Implementation in the Case of {P}rolog", BOOKTITLE = "Ninth ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico", YEAR = "1982", PAGES = "255-267", ANNOTE = "An abridged version of the thesis \cite{Komorowski:1981:ASpecification}."} @TechReport{Komorowski:1989:Synthesis, author = "J. Komorowski", title = "Synthesis of Programs in the Framework of Partial Deduction", institution = "Department of Computer Science, {\AA}bo Akademi, Finland", year = "1989", type = "Reports on Computer Science and Mathematics, Ser. A", number = "81", OPTnote = ""} @InProceedings{Komorowski:1990:Towards, author = "J. Komorowski", title = "Towards a Programming Methodology Founded on Partial Deduction", booktitle = "ECAI 90. 9th European Conference on Artificial Intelligence, Stockholm, Sweden, August 1990", year = "1990", OPTpages = "", publisher = "London:\ Pitman", OPTnote = ""} @InProceedings{Komorowski:1990:Elements, author = "J. Komorowski", title = "Elements of a Programming Methodology Founded on Partial Deduction --- Part 1", booktitle = "Methodologies for Intelligent Systems 5, Knoxville, Tennessee, USA, October 1990", year = "1990", editor = "Z.W. Ras and M. Z{\`e}mankova and M.L. Emrich", pages = "514-521", publisher = N-H, OPTnote = ""} @InCollection{Komorowski:1991:SynthesisOf, author = "J. Komorowski", title = "Synthesis of Programs in the Partial Deduction Framework", booktitle = "Automating Software Design", publisher = MIT, year = "1991", editor = "M. Lowry and R. McCartney", chapter = "15", pages = "377-403", OPTnote = ""} @InProceedings{Komorowski:1992:AnIntroduction, author = "J. Komorowski", title = "An Introduction to Partial Deduction", booktitle = "Meta-Programming in Logic, Uppsala, Sweden, June 1992 (Lecture Notes in Computer Science, vol. 649)", year = "1992", editor = "A. Pettorossi", pages = "49-69", publisher = S-V, OPTnote = ""} @INCOLLECTION{ Kotlyarov:1982:MixedComputation, AUTHOR = "V.P. Kotlyarov and N.B. Morozov and A.V. Samochadin", TITLE = "Mixed Computation in Object-Oriented Languages for Microcomputer Software Development Systems", BOOKTITLE = "Microprocessor Programming", PUBLISHER = "Valgus", ADDRESS = "Tallin, USSR", PAGES = "74-90", YEAR = "1982", NOTE = "(In Russian)", ANNOTE = "The special requirements for mixed computation of object-oriented languages and microcomputer control-oriented programs are discussed. A mixed computation algorithm Omix that works on complicated multilevel structured programs is proposed. It processes programs in which part of type checking and some operations are delayed."} @INCOLLECTION{ Kotlyarov:1983:Concretization, AUTHOR = "V.P. Kotlyarov and others", TITLE = "Concretization Tools in Programming Technology for Special-Purpose Micro-Computers", BOOKTITLE = "R-Technology of Programming, Part 3", PAGES = "15-17", PUBLISHER = "Institute of Cybernetics", ADDRESS = "Kiev, USSR", YEAR = "1983", NOTE = "(In Russian)", ANNOTE = "An approach to the use of surplus information about intermediate results of a program (e.g., its variables' ranges) is described."} @INCOLLECTION{ Kotlyarov:1983:MixedComputation, AUTHOR = "V.P. Kotlyarov and A.V. Samochadin", TITLE = "Mixed Computation of {R}-Programs", BOOKTITLE = "R-Technology of Programming, Part 1", PAGES = "62-63", PUBLISHER = "Institute of Cybernetics", ADDRESS = "Kiev, USSR", YEAR = "1983", NOTE = "(In Russian)", ANNOTE = "Some peculiarities of realization of a software development system for mixed computation of programs in the R-programming language for microcomputers are considered."} @INPROCEEDINGS{ Kotlyarov:1983:UseOfSoftware, AUTHOR = "V.P. Kotlyarov and A.V. Samochadin", TITLE = "Use of Software Redundancy for Improving Its Quality", BOOKTITLE = "Proc. of the 7th Symp. on Information Systems Redundancy, vol. 2", PUBLISHER = "LIAP, Leningrad, USSR", YEAR = "1983", NOTE = "(In Russian)", PAGES = "123-124", ANNOTE = "A method for increasing software quality by adapting it to concrete conditions of application is proposed. Adaptation is carried out by the mixed computation algorithm DMIX."} @INCOLLECTION{ Kotlyarov:1984:MixedComputation, AUTHOR = "V.P. Kotlyarov and N.B. Morozov", TITLE = "Mixed Computation Algorithms Used in Control Programs of Micro-Computers", BOOKTITLE = "Program Compilation and Transformation", PAGES = "94-107", PUBLISHER = "Novosibirsk, USSR", YEAR = "1984", NOTE = "(In Russian)", ANNOTE = "Questions of microcomputer control-oriented program optimization by means of mixed computation are discussed. Some peculiarities of mixed computation algorithms for control-oriented programs are shown."} @INCOLLECTION{ Krasovsky:1986:State, AUTHOR = "A.G. Krasovsky and A.V. Grokh", TITLE = "State of the Art and Future Development of the {ISKRA} Instrumental System", BOOKTITLE = "Software Engineering, Part 2", PAGES = "185-187", PUBLISHER = "Institute of Cybernetics", ADDRESS = "Kiev, USSR", YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "Results of experiments with a Refal program verifier are reported. The technology of development of multi-pass compilers based on designing the formal specifications for each pass and using them in the Refal verifier is described"} @ARTICLE{Krinitskii:1987:Algorithmic, AUTHOR = "N.A. Krinitskii", TITLE = "Algorithmic Analysis of Mixed Computations", JOURNAL = "Programming and Computer Software", YEAR = "1987", VOLUME = "13", NUMBER = "3", PAGES = "116-127", ANNOTE = "English translation of [Krinitskii 87a]."} @ARTICLE{ Krinitskii:1987:AnAlgorithmic, AUTHOR = "N.A. Krinitskii", TITLE = "An Algorithmic Analysis of Mixed Computation", JOURNAL = "Programmirovanie", YEAR = "1987", NOTE = "(In Russian)", NUMBER = "3", PAGES = "42-56", ANNOTE = "The notion of mixed computation is studied and refined by means of the theory of algorithms. The roots of the main results have been found in the theory of algorithms."} @TECHREPORT{ Kroeger:1981:CodeGeneration, AUTHOR = "H. Kr{\"{o}}ger", TITLE = "Code Generation by Partial Evaluation", INSTITUTION = "Institut f{\"{u}}r Informatik und Praktische Mathematik", ADDRESS = "Universit{\"{a}}t Kiel, Germany", YEAR = "1981", NOTE = "(In German)", TYPE = "Bericht", NUMBER = "8105", ANNOTE = "The paper sketches fundamental aspects of partial and residual evaluation, distinguishing pure forms and phi-forms. A trial and error algorithm to label a program with phi-operators is outlined."} @INCOLLECTION{ Kroeger:1981:Static-Scope-Lisp, AUTHOR = "H. Kr{\"{o}}ger", TITLE = "Static-Scope-{L}isp: Splitting an Interpreter into Compiler and Run-Time System", BOOKTITLE = "GI-11. Jahrestagung, M{\"{u}}nchen, Germany, Informatik-Fachberichte 50", EDITOR = "W. Brauer", PAGES = "20-31", PUBLISHER = S-V, YEAR = "1981", NOTe = "(In German)", ANNOTE = "Using the concept of a phi-operator, it is demonstrated that an interpreter for Lisp can easily be divided into a compiler part and a run-time part."} @TECHREPORT{ Kroeger:1982:ACodeGenerating, AUTHOR = "H. Kr{\"{o}}ger", TITLE = "A Code Generating Formalization Operator and Its Use on a Lisp Interpreter", INSTITUTION = "Institut f{\"{u}}r Informatik und Praktische Mathematik", ADDRESS = "Universit{\"{a}}t Kiel, Germany", YEAR = "1982", NOTE = "(In German)", MONTH = "January", TYPE = "Bericht", NUMBER = "1/82", ANNOTE = "The concept of a phi-operator is introduced to handle partial evaluation and residual evaluation. The method is applied to partial evaluation of an interpreter, i.e., compilation of programs, and is demonstrated to work for static-scope as well as dynamic-scope semantics."} @TECHREPORT{ Kroeger:1982:Compiling, AUTHOR = "H. Kr{\"{o}}ger", TITLE = "Compiling of a Generalized {LISP}-Label-Concept by Partial Evaluation", INSTITUTION = "Institut f{\"{u}}r Informatik und Praktische Mathematik", ADDRESS = "Universit{\"{a}}t Kiel, Germany", YEAR = "1982", MONTH = "February", Note = "Also Bericht 9002 from AG Informatik, Universit{\"a}t Giessen, February 1990", ANNOTE = "The Label-concept of Lisp is extended to allow arbitrary nested and parallel declarations of functions, and static-scope as well as dynamic-scope interpreters are given for the extended language. The phi-operator concept is recapitulated and a detailed description of the compiler and run-time parts of the interpreters are described."} @TECHREPORT{ Kroeger:1985:ASummary, AUTHOR = "H. Kr{\"{o}}ger", TITLE = "A Summary of a System for Partial Evaluation, Residual Evaluation, Code Generation and Semantics Directed Compiler Generation", INSTITUTION = "Institut f{\"{u}}r Informatik und Praktische Mathematik", ADDRESS = "Universit{\"{a}}t Kiel, Germany", YEAR = "1985", MONTH = "September", TYPE = "Bericht Nr.", NUMBER = "8505", ANNOTE = "The phi-based partial evaluation method is implemented using Interlisp. Using the phi-operator concept, more detailed descriptions of Y. Futamura's equations for compiler generation etc. are given as well as some qualitative and quantitative remarks on the implemented system."} @TECHREPORT{ Kroeger:1987:ReportOn, AUTHOR = "H. Kr{\"{o}}ger", TITLE = "Report on a $\phi$-Based Method for Partial Evaluation and Residual Evaluation", INSTITUTION = "Institut f{\"{u}}r Informatik und Praktische Mathematik", ADDRESS = "Universit{\"{a}}t Kiel, Germany", YEAR = "1987", MONTH = "May/August", TYPE = "Bericht", NUMBER = "8710", ANNOTE = "This is an extended abstract of a planned comprehensive report on phi-operator based partial evaluation."} @TechReport{Kroeger:1989:PART+RESI, author = "H. Kr{\"o}ger and U. Meyer and A. Mischnick", title = "PART + RESI = A System for Partial Evaluation and Semantics Directed Compiler Generation", institution = "AG Informatik, Universit{\"a}t Giessen, Germany", year = "1989", type = "Bericht", number = "8902", OPTnote = ""} @TechReport{Kroeger:1989:PartialEvaluation, author = "H. Kr{\"o}ger and U. Meyer and A. Mischnick", title = "Partial Evaluation and Se\-man\-tics-Direct\-ed Compiler Generation in {Lisp}", institution = "AG Informatik, Universit{\"a}t Giessen, Germany", year = "1989", type = "Bericht", number = "8903", note = "(In German). Published also as \cite{Kroeger:1991:PartialEvaluation}"} @TechReport{Kroeger:1990:Fundamentals, author = "H. Kr{\"o}ger and U. Meyer and A. Mischnick", title = "Fundamentals of a Concept of Partial and Residual Evaluation", institution = "AG Informatik, Universit{\"a}t Giessen, Germany", year = "1990", type = "Bericht", number = "9001", OPTnote = ""} @TechReport{Kroeger:1990:Compiler-Construction, author = "H. Kr{\"o}ger and A. Mischnick", title = "Compiler-Construction by Par\-ti\-al Evaluation and Residual Evaluation: Pre-Compilation-Techniques and Inner Specializations", institution = "AG Informatik, Universit{\"a}t Giessen, Germany", year = "1990", type = "Be\-richt", number = "9005", OPTnote = ""} @TechReport{Kroeger:1990:SomeNewAspects, author = "H. Kr{\"o}ger and U. Meyer", title = "Some New Aspects of Partial Evaluation of Imperative Languages", institution = "AG Informatik, Universit{\"a}t Giessen, Germany", year = "1990", type = "Bericht", number = "9004", OPTnote = ""} @InCollection{Kroeger:1991:PartialEvaluation, author = "H. Kr{\"o}ger and U. Meyer and A. Mischnick", title = "Partial Evaluation and Se\-man\-tics-Direct\-ed Compiler Generation in {Lisp}", booktitle = "Informatik und Mathematik", publisher = S-V, year = "1991", editor = "M. Broy", OPTchapter = "", OPTpages = "", note = "(In German)"} @INCOLLECTION{ Kursawe:1986:HowTo, AUTHOR = "P. Kursawe", TITLE = "How to Invent a {P}rolog Machine", BOOKTITLE = "Third International Conference on Logic Programming, London, United Kingdom (Lecture Notes in Computer Science, vol. 225)", EDITOR = "E. Shapiro", PAGES = "134-148", PUBLISHER = S-V, YEAR = "1986", NOTE = "Revised version in \cite{Kursawe:1987:HowTo}.", ANNOTE = "A partial evaluation based derivation of the unification instructions of the Warren abstract machine is given. Starting with a unification algorithm for terms, all parts that are executable when one term is known are evaluated."} @Article{Kursawe:1987:HowTo, author = "P. Kursawe", title = "How to Invent a {Prolog} Machine", journal = NGC, year = "1987", volume = "5", pages = "97-114", OPTnote = ""} @INPROCEEDINGS{ Kursawe:1988:PurePartial, AUTHOR = "P. Kursawe", TITLE = "Pure Partial Evaluation and Instantiation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "283-298", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "Pure partial evaluation of declarative languages is defined as execution of interpretive steps according to a strategy different from interpretation. Proofs of correctness and completeness of the technique are given."} @PhDThesis{Kursawe:1990:PartialEvaluation, author = "P. Kursawe", title = "Partial Evaluation for Construction of Intermediate Languages (GMD-Bericht 187, Gesellschaft f{\"u}r Mathematik und Datenverarbeitung, Sankt Augustin, Germany)", school = "University of Karlsruhe, Germany", year = "1990", note = "(In German)"} LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL @ARTICLE{ Lakhotia:1988:Composing, AUTHOR = "A. Lakhotia and L. Sterling", TITLE = "Composing Recursive Logic Programs with Clausal Join", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "211-225", ANNOTE = "A family of methods for composing logic programs from simpler components is presented. The methods are based on clausal-join, a specific sequence of unfold/fold transformations. The transformations are straightforward to implement in Prolog, as is demonstrated in the paper."} @Article{Lakhotia:1990:HowToControl, author = "A. Lakhotia and L. Sterling", title = "How to Control Unfolding when Specializing Interpreters", journal = "New Generation Computing", year = "1990", volume = "8", number = "1", pages = "61-70", OPTnote = ""} @InProceedings{Lakhotia:1990:ToPE, author = "A. Lakhotia", title = "To PE or Not to PE", booktitle = "Proceedings of the Second Workshop on Meta-Programming in Logic, April 1990, Leuven, Belgium", year = "1990", editor = "M. Bruynooghe", pages = "218-228", publisher = "Department of Computer Science, KU Leuven, Belgium", OPTnote = ""} @InCollection{Lakhotia:1991:ProMIX, author = "A. Lakhotia and L. Sterling", title = "{ProMiX}: A {Prolog} Partial Evaluation System", booktitle = "The Practice of {Prolog}", publisher = MIT, year = "1991", editor = "L. Sterling", chapter = "5", pages = "137-179", OPTnote = ""} @MastersThesis{Lam:1989:ControlStructures, author = "J. Lam", title = "Control Structures in Partial Evaluation of Pure {Prolog}", school = "Department of Computational Science, University of Saskatchewan, Canada", year = "1989", OPTnote = ""} @TechReport{Lam:1990:APartial, author = "J. Lam and A. Kusalik", title = "A Partial Evaluation of Partial Evaluators for Pure {Prolog}", institution = "Department of Computational Science, University of Saskatchewan, Canada", year = "1990", number = "TR 90-9", month = "November", note = ""} @TechReport{Larsson:1988:HardwareVerification, author = "T. Larsson", title = "Hardware Verification Based on Algebraic Manipulation and Partial Evaluation", institution = "Department of Computer Science, Link{\"o}ping University, Sweden", year = "1988", type = "Research Report", number = "88-41", OPTnote = ""} @Proceedings{Lau:1993:Lopstr92, title = "Logic Program Synthesis and Transformation, {L}o{PST}r'92, Manchester, U.K., 1992", year = "1993", editor = "K.-K. Lau and T. Clement", series = "Workshops in Computing", publisher = S-V} @INPROCEEDINGS{ Launchbury:1988:Projections, AUTHOR = "J. Launchbury", TITLE = "Projections for Specialisation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "299-315", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The use of projections for splitting data into its static and dynamic parts is proposed. Several example domains of projections and some general constructions for finite domains of projections are given. These finite domains are useful in (say) binding time analyses to support partial evaluation."} @PhDThesis{Launchbury:1989:ProjectionFactorisations, author = "J. Launchbury", title = "Projection Factorisations in Partial Evaluation", school = "Department of Computing, University of Glasgow", year = "1989", month = "November", note = "Revised version in \cite{Launchbury:1991:ProjectionFactorisations}"} @InProceedings{Launchbury:1990:DependentSums, author = "J. Launchbury", title = "Dependent Sums Express Separation of Binding Times", booktitle = "Functional Programming, Glasgow, Scotland, 1989", year = "1990", editor = "K. Davis and J. Hughes", pages = "238-253", publisher = S-V, OPTnote = ""} @InProceedings{Launchbury:1991:StrictnessAnd, author = "J. Launchbury", title = "Strictness and Binding-Time Analyses: Two for the Price of One", 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 = "80-91", publisher = ACM, OPTnote = ""} @InProceedings{Launchbury:1991:AStrongly-Typed, author = "J. Launchbury", title = "A Strongly-Typed Self-Applicable Partial Evaluator", booktitle = "Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523)", year = "1991", editor = "J. Hughes", pages = "145-164", organization = "ACM", publisher = S-V, note = ""} @InProceedings{Launchbury:1991:HandwritingCogen, author = "J. Launchbury and C.K. Holst", title = "Handwriting Cogen to Avoid Problems with Static Typing", pages = "210--218", booktitle = "Fourth Annual Glasgow Workshop on Functional Programming, Skye, Scotland", year = "1991", keywords = "cogen approach"} @Book{Launchbury:1991:ProjectionFactorisations, author = "J. Launchbury", title = "Projection Factorisations in Partial Evaluation", publisher = CUP, year = "1991", OPTnote = ""} @INPROCEEDINGS{ Lavrov:1988:OnTheEssence, AUTHOR = "S.S. Lavrov", TITLE = "On the Essence of Mixed Computation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "317-324", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "Some reflections on ordinary and mixed computation are given. A number of possible pitfalls in speaking about mixed computation are pointed out."} @InProceedings{Lawall:1993:ProofsBy, author = "J.L. Lawall", title = "Proofs by Structural Induction Using Partial Evaluation", booktitle = PEPM93, year = "1993", pages = "155-166", publisher = ACM, OPTnote = ""} @InProceedings{Lawall:1994:Continuation-BasedPartial, author = "J.L. Lawall and O. Danvy ", title = "Continuation-Based Partial Evaluation", booktitle = "1994 ACM Conference on Lisp and Functional Programming, Orlando, Florida, June 1994", year = "1994", pages = "227-238", publisher = ACM, OPTnote = ""} @inproceedings{Lawall:1997:SoundSpecialization, author = "J. Lawall and P. Thiemann", title = "Sound Specialization in the Presence of Computational Effects", booktitle = "Theoretical Aspects of Computer Software, Sendai, Japan, September 1997. (Lecture Notes in Computer Science, vol. 1281)", year = 1997, publisher = S-V, pages = "165-190" } @Article{Lei:1990:ADeductive, author = "L. Lei and G.-H. Moll and J. Kouloumdjian", title = "A Deductive Database Architecture Based on Partial Evaluation", journal = "{SIGMOD} Record", year = "1990", volume = "19", number = "3", pages = "24-29", month = "September", OPTnote = ""} @InProceedings{Leone:1994:DeferredCompilation, author = "M. Leone and P. Lee", title = "Lightweight Run-Time Code Generation", booktitle = PEPM94, year = "1994", pages = "97-106", note = ""} @Article{Letichevskii:1990:MixedComputation, author = "A.A. Letichevskii", title = "Mixed Computation and Program Optimization", journal = "Programming and Computer Software", year = "1990", volume = "16", number = "1", pages = "10-23", note = "Translation of Programmirovanie 16,1 (1990) 62-77"} @InProceedings{Leuschel:1995:TowardsCreating, author = "M. Leuschel and D. De Schreye", title = "Towards Creating Specialised Integrity Checks through Partial Evaluation of Meta-Interpreters ", pages = "253-263", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Leuschel:1996:GlobalControl, author = "M. Leuschel and B. Martens", title = "Global Control for Partial Deduction through Characteristic Atoms and Global Trees", crossref = "Danvy:1996:PartialEvaluation", pages = "263-283"} @InProceedings{Leuschel:1998:AFormal, author = "M. Leuschel", title = "A Formal Comparison of Well-Quasi and Well-Founded Orders for Online Termination", editor = "P. Flener and K.-K. Lau", OPTpages = "", booktitle = "LOPSTR'98, Manchester, United Kingdom, June 1998", year = "1998", OPTpublisher = "", OPTnote = "(Preliminary proceedings)", OPTannote = ""} @ARTICLE{ Levi:1988:Partial, AUTHOR = "G. Levi and G. Sardu", TITLE = "Partial Evaluation of Metaprograms in a Multiple Worlds Logic Language", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "227-247", ANNOTE = "A non-selfapplicable partial evaluator for Prolog (including cut and side-effects) is described, and several examples of its use are given. The partial evaluator is to be used as a compilation tool in a knowledge base management system based on Prolog."} @InProceedings{Lisper:1991:DetectingStatic, author = "B. Lisper", title = "Detecting Static Algorithms by Partial Evaluation", booktitle = PEPM, year = "1991", pages = "31-42", publisher = ACM, OPTnote = ""} @TECHREPORT{ Lloyd:1987:PartialEvaluation, AUTHOR = "J.W. Lloyd and J.C. Shepherdson", TITLE = "Partial Evaluation in Logic Programming", INSTITUTION = "Department of Computer Science", ADDRESS = "University of Bristol, England", YEAR = "1987", TYPE = "Technical Report", NUMBER = "CS-87-09", NOTE = "Revised version in \cite{Lloyd:1991:PartialEvaluation}", ANNOTE = "The paper gives a theoretical foundation for partial evaluation in logic programming. For both the declarative and the procedural semantics conditions are studied under which the partially evaluated program is sound and complete. A simple, syntactically checkable ``closedness condition'' is formulated and is shown to suffice for soundness and completeness wrt.\ the procedural semantics, and for soundness wrt.\ the declarative semantics."} @Article{Lloyd:1991:PartialEvaluation, author = "J.W. Lloyd and J.C. Shepherdson", title = "Partial Evaluation in Logic Programming", journal = "Journal of Logic Programming", year = "1991", volume = "11", pages = "217-242", OPTnote = ""} @INPROCEEDINGS{ Lombardi:1964:LispAsTheLanguage, AUTHOR = "L.A. Lombardi and B. Raphael", TITLE = "{Lisp} as the Language for an Incremental Computer", BOOKTITLE = "The Programming Language Lisp: Its Operation and Applications", EDITOR = "E.C. Berkeley and D.G. Bobrow", PUBLISHER = MIT, YEAR = "1964", PAGES = "204-219", ANNOTE = "It is argued that computer systems should be able to deal with incomplete information, that is, to do partial evaluation (this is probably the first paper to use that term). Partial evaluation of Lisp is studied as a means to this end, and a small partial evaluator for Lisp, unable to reduce conditionals, is actually presented in an appendix."} @INCOLLECTION{ Lombardi:1967:Incremental, AUTHOR = "L.A. Lombardi", TITLE = "Incremental Computation", BOOKTITLE = "Advances in Computers, vol. 8", EDITOR = "F.L. Alt and M. Rubinoff", PAGES = "247-333", PUBLISHER = AP, YEAR = "1967", ANNOTE = "The design of a system for dealing with incomplete information and for incremental data assimilation is discussed and described in great detail. The system incorporates facilities for partial evaluation."} @InProceedings{Lux:1990:PartialEvaluation, author = "A. Lux", title = "Partial Evaluation as a Tool for Plan Generation and Control in Computer Vision", booktitle = "Workshop on Partial Deduction, Partial Evaluation and Intelligent Reasoning at ECAI 90, 9th European Conference on Artificial Intelligence", year = "1990", editor = "J. Komorowski", pages = "25-33", publisher = "IDT, Universitetet i Trondheim, Norway", note = "Teknisk Notat 42/90"} MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM @InProceedings{Malmkjaer:1991:OnStatic, author = "K. Malmkj{\ae}r", title = "On Static Properties of Specialized Programs", booktitle = JTASPEFL, year = "1991", editor = "M. Billaud and others", pages = "234-241", publisher = "Rennes:\ IRISA", OPTnote = ""} @InProceedings{Malmkjaer:1992:PredictingProperties, author = "K. Malmkj{\ae}r", title = "Predicting Properties of Residual Programs", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "8-13", OPTnote = ""} @InProceedings{Malmkjaer:1993:TowardsEfficient, author = "K. Malmkj{\ae}r", title = "Towards Efficient Partial Evaluation", booktitle = PEPM93, year = "1993", pages = "33-43", publisher = ACM, OPTnote = ""} @InProceedings{Malmkjaer:1994:MLPartial, author = "K. Malmkj{\ae}r and N. Heintze and O. Danvy", title = "{ML} Partial Evaluation Using Set-Based Analysis", booktitle = "1994 ACM SIGPLAN Workshop on ML and Its Applications, Orlando, Florida, June 1994 (Technical Report 2265, INRIA Rocquencourt, France)", year = "1994", pages = "112-119", OPTnote = ""} @InProceedings{Malmkjaer:1995:PolyvariantSpecialization, author = "K. Malmkj{\ae}r", title = "Polyvariant Specialisation for Higher-Order, Block-Structured Languages", pages = "66-76", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} @INCOLLECTION{ Margolin:1979:APartial, AUTHOR = "M.S. Margolin and M.E. Nemenman", TITLE = "A Partial Evaluator for Macrodefinitions", BOOKTITLE = "Software Engineering", PAGES = "42-43", PUBLISHER = "Institute of Cybernetics", ADDRESS = "Kiev, USSR", YEAR = "1979", NOTE = "(In Russian)", ANNOTE = "The feasibility of partial evaluation with restrictions on input data domains and without any initialization is stated. The first steps of the implementation of a partial evaluator (reducer) of macro definitions are presented."} @INCOLLECTION{ Margolin:1980:OnAMethod, AUTHOR = "M.S. Margolin", TITLE = "On a Method of Mixed Computation Implementation", BOOKTITLE = "Automation of Application Packages Production", PAGES = "111-113", PUBLISHER = "Tallin, USSR", YEAR = "1980", NOTE = "(In Russian)", ANNOTE = "The notion of areal as a set of acceptable data values is introduced. An algorithm for mixed computation using rough and fine reductions is reported"} @ARTICLE{ Margolin:1981:Employment, AUTHOR = "M.S. Margolin and T.P. Potapenko", TITLE = "Employment of Incomplete Input Data to Simplify Programs", JOURNAL = "Upravlyayushchie Sistemy i Mashiny (Control Systems and Machines)", YEAR = "1981", NOTE = "(In Russian)", NUMBER = "6", PAGES = "78-81", ANNOTE = "A procedure for simplification of a program through the use of incomplete data is proposed. A mechanism of rough reduction in mixed computation is given in detail. The need for filters is shown."} @INCOLLECTION{ Margolin:1983:Reduction, AUTHOR = "M.S. Margolin", TITLE = "Reduction and Its Relationships with a Program Areal", BOOKTITLE = "Program Optimization and Transformation, Part 2", PAGES = "20-25", PUBLISHER = "Novosibirsk, USSR", YEAR = "1983", NOTE = "(In Russian)", ANNOTE = "The notion of data areal is suggested and the notion of program areal as the set of all input data areals is introduced. Reduction is defined as a process of bringing the program into correspondence with a given data areal. It is shown that mixed computations are reductions."} @INCOLLECTION{ Margolin:1986:Application, AUTHOR = "M.S. Margolin and T.P. Potapenko", TITLE = "Application of Residual programs to Source Program Debugging", BOOKTITLE = "Problems in Program Synthesis, Testing, Verification and Debugging, vol. 2", PAGES = "24-25", PUBLISHER = "Riga, USSR", YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "Residual programs are considered as results of adaptation of a source program to additional conditions. The benefits of using residual programs in the debugging process are shown."} @InProceedings{Marinescu:1997:PartialEvaluation, author = "M. Marinescu and B. Goldberg", title = "Partial-Evaluation Techniques for Concurrent Programs", pages = "47-62", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @MastersThesis{Marquard:1992:PartialEvaluation, author = "M. Marquard and B. Steensgaard", title = "Partial Evaluation of an Object-Oriented Imperative Language", school = DIKU, year = "1992", month = "April", note = "Available from {\tt ftp.diku.dk} as file {\tt pub/diku/semantics/papers/D-152.ps.Z}"} @InProceedings{Martens:1995:EnsuringGlobal, author = "B. Martens and J. Gallagher", title = "Ensuring Global Termination of Partial Deduction While Allowing Flexible Polyvariance", editor = "L. Sterling", pages = "597-611", booktitle = "ICLP'95, Twelfth International Conference on Logic Programming, Tokyo, Japan, June 1995", year = "1995", publisher = "MIT Press", OPTnote = "", OPTannote = ""} @ARTICLE{ Mazaher:1985:Deriving, AUTHOR = "S. Mazaher and D.M. Berry", TITLE = "Deriving a Compiler from an Operational Semantics Written in {VDL}", JOURNAL = "Computer Languages", YEAR = "1985", VOLUME = "10", NUMBER = "2", PAGES = "147-164", ANNOTE = "Mixed computation is used in deriving correct compilers from language definitions written in the Vienna Definition Language (VDL). An algorithm for mixed computation of VDL expressions is given."} @InCollection{McCarthy:63:ABasis, author = "J. McCarthy", title = "A Basis for a Mathematical Theory of Computation", booktitle = "Computer Programming and Formal Systems", publisher = N-H, year = "1964", editor = "P. Brafford and D. Hirschberg", pages = "33-70", OPTnote = ""} @INCOLLECTION{ Mel'Nik:1982:AProgram, AUTHOR = "A.P. Mel'Nik", TITLE = "A Program Model of a Transformational Machine", BOOKTITLE = "Problems of System and Theoretical Programming", PAGES = "25-34", PUBLISHER = "Novosibirsk, USSR", YEAR = "1982", NOTE = "(In Russian)", ANNOTE = "A program model of a transformational machine has been implemented and is used for experiments in studying the transformational approach. The structure of the model is described."} @TechReport{Meyer:1989:PartielleAuswertung, author = "U. Meyer", title = "Partial Evaluation of an Imperative Programming Language", institution = "AG Informatik, Universit{\"a}t Giessen, Germany", year = "1989", type = "Bericht", number = "8905", note = "(In German)"} @InProceedings{Meyer:1991:Techniques, author = "U. Meyer", title = "Techniques for Partial Evaluation of Imperative Languages", booktitle = PEPM, year = "1991", pages = "94-105", publisher = ACM, OPTnote = ""} @PhDThesis{Meyer:1992:PartielleAuswertung, author = "U. Meyer", title = "Partial Evaluation of Imperative Languages", school = "Justus-Liebig-Universit{\"a}t, Giessen, Germany", year = "1992", OPTaddress = "", OPTmonth = "", note = "(In German)"} @InProceedings{Minuissi:1996:SqueezingIntermediate, author = "A. Miniussi and D. Sherman", title = "Squeezing Intermediate Construction in Equational Programs", crossref = "Danvy:1996:PartialEvaluation", pages = "284-302"} @MASTERSTHESIS{ Mogensen:1986:TheApplication, AUTHOR = "T. Mogensen", TITLE = "The Application of Partial Evaluation to Ray-Tracing", SCHOOL = "DIKU", ADDRESS = "University of Copenhagen, Denmark", YEAR = "1986", ANNOTE = "Partial evaluation is used to optimize ray-tracing (a computer graphics algorithm). A self-applicable partial evaluator is developed for this purpose, and significant speed improvements are reported to arise from its use."} @INPROCEEDINGS{ Mogensen:1988:PartiallyStatic, AUTHOR = "T. Mogensen", TITLE = "Partially Static Structures in a Self-Applicable Partial Evaluator", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "325-347", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The paper describes a self-applicable partial evaluator that uses the same basic methods as \cite{Jones:1985:AnExperiment} but in addition gives good treatment of values that are not completely static or completely dynamic, but rather partially static. Thus it can do non-trivial partial evaluation for a larger class of programs."} @INPROCEEDINGS{Mogensen:1989:BindingTimeAnalysis, AUTHOR = "T. Mogensen", TITLE = "Binding Time Analysis for Polymorphically Typed Higher Order Languages", BOOKTITLE = "TAPSOFT '89. Proc. Int. Conf. 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 = "298-312", YEAR = "1989"} @INPROCEEDINGS{Mogensen:1989:SeparatingBindingTimes, AUTHOR = "T. Mogensen", TITLE = "Separating Binding Times in Language Specifications", BOOKTITLE = "Fourth International Conference on Functional Programming Languages and Computer Architecture, London, England, September 1989", PUBLISHER = A-W, YEAR = "1989", PAGES = "14-25", NOTE = ""} @PhDThesis{Mogensen:1989:BindingTimeAspects, author = "T. Mogensen", title = "Binding Time Aspects of Partial Evaluation", school = DIKU, year = "1989", month = "March", note = ""} @InProceedings{Mogensen:1992:Self-ApplicablePartial, author = "T. Mogensen", title = "Self-Applicable Partial Evaluation for Pure Lambda Calculus", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "116-121", OPTnote = ""} @InProceedings{Mogensen:1992:Logimix, author = "T. Mogensen and A. Bondorf", title = "Logimix: A Self-Applicable Partial Evaluator for {Prolog}", booktitle = "LOPSTR 92. Workshops in Computing", year = "1993", editor = "K.-K. Lau and T. Clement", OPTpages = "", publisher = S-V, month = Jan} @InProceedings{Mogensen:1993:ConstructorSpecialization, author = "T. Mogensen", title = "Constructor Specialization", booktitle = PEPM93, year = "1993", pages = "22-32", publisher = ACM, OPTnote = ""} @InProceedings{Mogensen:1995:Self-ApplicableOnline, author = "T. Mogensen", title = "Self-Applicable Online Partial Evaluation of Pure Lambda Calculus", OPTpages = "", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Mogensen:1996:EvolutionOf, author = "T.{\AE}. Mogensen", title = "Evolution of Partial Evaluators: Removing Inherited Limits", crossref = "Danvy:1996:PartialEvaluation", pages = "303-321"} @TECHREPORT{ Mosses:1979:SIS, AUTHOR = "P. Mosses", TITLE = "{SIS} --- Semantics Implementation System, Reference Manual and User Guide", INSTITUTION = "DAIMI", ADDRESS = "University of {\AA}rhus, Denmark", YEAR = "1979", TYPE = "DAIMI Report", NUMBER = "MD-30", ANNOTE = "A lambda expression reducer is used in a compiler-generating system to effectively compose a (denotational semantics) language definition and a source program to obtain an object program (as a lambda expression)."} @InProceedings{Mossin:1993:PartialEvaluation, author = "C. Mossin", title = "Partial Evaluation of General Parsers", booktitle = PEPM93, year = "1993", pages = "13-21", publisher = ACM, OPTnote = ""} @MastersThesis{Mossin:1994:PolymorphicBinding-Time, author = "C. Mossin", title = "Polymorphic Binding-Time Analysis", school = DIKU, year = "1994", month = "July", OPTnote = ""} @InProceedings{Muller:1997:ScalingUp, author = "G. Muller and E.-N. Volanschi and R. Marlet", title = "Scaling Up Partial Evaluation for Optimizing the {Sun} Commercial {RPC} Protocol", pages = "116-126", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN @Article{Nederhof:1993:PartialEvaluation, author = "M.-J. Nederhof and J.J Sarbo", title = "Partial Evaluation Grammars", journal = "Computer Languages", year = "1993", volume = "18", number = "2", pages = "137-151", OPTnote = ""} @InProceedings{Nemytykh:1996:ASelf-Applicable, author = "A.P. Nemytykh and V.A. Pinchuk and V.F. Turchin", title = "A Self-Applicable Supercompiler", crossref = "Danvy:1996:PartialEvaluation", pages = "322-337"} @InProceedings{Nemytykh:1996:ProgramTransformation, author = "A.P. Nemytykh and V.A. Pinchuk", title = "Program Transformation with Metasystem Transitions: Experiments with a Supercompiler", crossref = "AEIIS:1996:Perspectives", pages = "100-107"} @INPROCEEDINGS{ Nepejvoda:1987:SomeAnalogues, AUTHOR = "N.N. Nepejvoda", TITLE = "Some Analogues of Partial {\&} Mixed Computations in the Logical Programming Approach", BOOKTITLE = "\cite{Bjoerner:1987:WorkshopCompendium}", YEAR = "1987", ANNOTE = "The logical programming approach is a particular view of the process of algorithm and program development in which program transformations are used. A number of such transformations are compared to mixed computation concepts."} @TECHREPORT{ Neumann:1986:Meta-Interpreter, AUTHOR = "G. Neumann", TITLE = "Meta-Interpreter Directed Compilation of Logic Programs into {P}rolog", INSTITUTION = "IBM, Yorktown Heights, New York", YEAR = "1986", TYPE = "Research Report", NUMBER = "RC 12113 (No. 54357)", ANNOTE = ""} @InProceedings{Neumann:1990:TransformingInterpreters, author = "G. Neumann", title = "Transforming Interpreters into Compilers by Goal Classification", booktitle = "Proceedings of the Second Workshop on Meta-Programming in Logic, April 1990, Leuven, Belgium", year = "1990", editor = "M. Bruynooghe", pages = "205-217", publisher = "Department of Computer Science, KU Leuven, Belgium", OPTnote = ""} @Article{Neumann:1991:InterpretationalAbstraction, author = "G. Neumann", title = "Interpretational Abstraction", journal = "Computers and Mathematics with Applications", year = "1991", volume = "21", number = "8", pages = "65-78", OPTnote = ""} @TechReport{Ng:1992:PartiallyEvaluating, author = "B.T. Ng and K. Broda", title = "Partially Evaluating the Completed Program", institution = "Imperial College, London, England", year = "1992", number = "DoC 92/7", OPTnote = ""} @InProceedings{Nielsen:1995:Call-By-Name-CPS, author = "K. Nielsen and M.H. S{\o}rensen", title = "Call-By-Name CPS-Translation as a Binding-Time Improvement", editor = "A. Mycroft", booktitle = "International Static Analysis Symposium, Glasgow, Scotland, September 1995. (Lecture Notes in Computer Science, vol. 983)", year = "1995", publisher = S-V, keywords = "partial evaluation, deforestation, binding time improvement, evaluation order, program transformation, call-by-name, continuation passing style", annote = "The use of the call-by-value continuation passing style (CBV CPS) translation as a tool in partial evaluation has received much attention in the literature, but the call-by-name (CBN) CPS translation does not seem to have been investigated. In this paper, we undertake a systematic investigation of the effect of CBN CPS in connection with partial evaluation and deforestation. First, we give a concrete example of the use of the CBN CPS translation as a binding time improvement to achieve the effects of deforestation using standard partial evaluation. The same effect cannot be achieved with CBV CPS. Second, we prove formally that the CBN CPS translation in conjunction with partial evaluation has the power to achieve all the effects of deforestation. The consequence of these results is a practical tool (the CBN CPS) for improving the results of partial evaluation, as well as an improved understanding of the relation between partial evaluation and deforestation."} @INPROCEEDINGS{ Nielson:1988:AFormal, AUTHOR = "F. Nielson", TITLE = "A Formal Type System for Comparing Partial Evaluators", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "349-384", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The lambda calculus is provided with a two-level type system for expressing binding time information. The concept of a best typing is defined, and an algorithm to compute it (i.e., a binding time analysis) is given. Finally, some relations for comparing partial evaluators are discussed."} @Article{Nielson:1988:AutomaticBinding, author = "H.R. Nielson and F. Nielson", title = "Automatic Binding Time Analysis for a Typed {\(\lambda\)}-Calculus", journal = "Science of Computer Programming", year = "1988", volume = "10", pages = "139-176"} @INPROCEEDINGS{Nielson:1989:TransformationsOn, AUTHOR = "H.R. Nielson and F. Nielson", TITLE = "Transformations on Higher-Order Functions", BOOKTITLE = "Fourth International Conference on Functional Programming Languages and Computer Architecture, London, England, September 1989", PUBLISHER = A-W, YEAR = "1989", PAGES = "129-143", NOTE = ""} @Article{Nielson:1991:UsingTransformation, author = "H.R. Nielson and F. Nielson", title = "Using Transformation in the Implementation of Higher-Order Functions", journal = JFP, year = "1991", volume = "1", number = "4", pages = "459-494", OPTnote = ""} @InProceedings{Nielson:1996:Multi-Level, author = "F. Nielson and H. Riis Nielson", title = "Multi-Level Lambda-Calculi: An Algebraic Description", crossref = "Danvy:1996:PartialEvaluation", pages = "338-354"} @InProceedings{Nielson:1997:PrescriptiveFrameworks, author = "F. Nielson and H.R. Nielson", title = "Prescriptive Frameworks for Multi-Level Lambda-Calculi", pages = "193-202", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @Article{Nilsson:1993:Towards, author = "U. Nilsson", title = "Towards a Methodology for the Design of Abstract Machines", journal = "Journal of Logic Programming", year = "1993", volume = "16", number = "1, 2", pages = "163-189", OPTnote = ""} @InProceedings{Nirkhe:1991:APartial, author = "V. Nirkhe and W. Pugh", title = "A Partial Evaluator for the {Maruti} Hard Real-Time System", pages = "64-73", booktitle = "Twelfth Real-Time Systems Symposium, San Antonio, TX, USA", year = "1991", publisher = IEEECSP, OPTnote = "", annote = "Applies partial evaluation to produce --- at compile-time --- estimates of the execution time and resource requirements of hard real-time programs."} @InProceedings{Nirkhe:1992:PartialEvaluation, author = "V. Nirkhe and W. Pugh", title = "Partial Evaluation and High-Level Imperative Programming Languages with Applications in Hard Real-Time Systems", booktitle = "Nineteenth ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico, January 1992", year = "1992", pages = "269-280", publisher = ACM, note = ""} @Inproceedings{Not:1992:PartialEvaluation, AUTHOR = {E. Not}, TITLE = {Partial Evaluation of {Prolog} Programs with Structured Uses of Non-Logical Predicates}, EDITOR = {S. Constantini}, BOOKTITLE = {Proc.~GULP '92}, PUBLISHER = {Milan:\ Citta{\`a}Studi}, PAGES = {71--85}, YEAR = 1992, ANNOTE = {The paper discusses the problems caused by some of the non-logical primitives in Prolog}} OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO @INCOLLECTION{ Ono:1986:Partial, AUTHOR = "S. Ono and N. Takahashi and M. Amamiya", TITLE = "Partial Computation with a Dataflow Machine", BOOKTITLE = "RIMS Symposia on Software Science and Engineering II, Kyoto, Japan, 1983 and 1984 (Lecture Notes in Computer Science, vol. 220)", EDITOR = "E. Goto and K. Araki and T. Yuasa", PAGES = "87-113", PUBLISHER = S-V, YEAR = "1986", ANNOTE = "A dataflow computation model is defined, and a restricted kind of partial evaluation for this computation model is presented."} @INCOLLECTION{ Ostrovsky:1980:Application:Novosibirsk, AUTHOR = "B.N. Ostrovsky ", TITLE = "Application of Mixed Computation to Systematic Development of Language-Oriented Parsers", BOOKTITLE = "Compilation and Program Models", PAGES = "69-80", PUBLISHER = "Novosibirsk, USSR", YEAR = "1980", NOTE = "(In Russian)", ANNOTE = "The notions of strict and flexible mixed computation used for generation of language-oriented parsers are introduced."} @INCOLLECTION{ Ostrovsky:1980:Application:Tallin, AUTHOR = "B.N. Ostrovsky", TITLE = "Application of Mixed Computation to Automatic Generation of Language-Oriented Parsers", BOOKTITLE = "Automation of Application Packages Production", PAGES = "172-173", PUBLISHER = "Tallin, USSR", YEAR = "1980", NOTE = "(In Russian)", ANNOTE = "An experiment in automatic development of language-oriented parsers is described."} @INCOLLECTION{ Ostrovsky:1981:ASketch, AUTHOR = "B.N. Ostrovsky", TITLE = "A Sketch of a Transformational Machine Defining Semantics of a Pascal Subset", BOOKTITLE = "Methods of Compilation", PAGES = "121-124", PUBLISHER = CCN, YEAR = "1981", NOTE = "(In Russian)", ANNOTE = "A formalism for description of ordinary and mixed computation in a Pascal-like language is introduced."} @INCOLLECTION{ Ostrovsky:1984:Controlled, AUTHOR = "B.N. Ostrovsky", TITLE = "Controlled Mixed Computation Examplified by Language-Oriented Parsers", BOOKTITLE = "Problems in Theoretical and System Programming", PAGES = "30-49", PUBLISHER = "Novosibirsk, USSR", YEAR = "1984", NOTE = "(In Russian)", ANNOTE = "The concept of controlled mixed computation is introduced. An experiment on development of a top-down language-oriented parser for Algol 60 is described."} @ARTICLE{ Ostrovsky:1987:Controlled, AUTHOR = "B.N. Ostrovsky", TITLE = "Controlled Mixed Computation and Its Application to Systematic Development of Language-Oriented Parsers", JOURNAL = "Programmirovanie", YEAR = "1987", NOTE = "(In Russian)", PAGES = "56-67", NUMBER = "2", ANNOTE = "The concept of controlled mixed computation is introduced. A description of an automatic system for generation of language-oriented parsers is given. Results of computer experiments in obtaining language-oriented parsers for some real programming languages are given."} @INPROCEEDINGS{ Ostrovski:1988:Implementation, AUTHOR = "B.N. Ostrovski", TITLE = "Implementation of Controlled Mixed Computation in System for Automatic Development of Language-Oriented Parsers", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "385-403", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "English version of \cite{Ostrovsky:1987:Controlled}."} @InProceedings{Owen:1989:Issues, author = "S. Owen", title = "Issues in the Partial Evaluation of Meta-Interpreters", booktitle = "Meta-Programming in Logic Programming", year = "1989", editor = "H. Abramson and M.H. Rogers", pages = "319-340", publisher = MIT} PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP @ARTICLE{ Pagan:1980:OnTheGeneration, AUTHOR = "F.G. Pagan", TITLE = "On the Generation of Compilers from Language Definitions", JOURNAL = IPL, YEAR = "1980", MONTH = "March", VOLUME = "10", NUMBER = "2", PAGES = "104-107", ANNOTE = "Partial evaluation techniques are considered for transforming interpreter-oriented language definitions into compilers."} @ARTICLE{Pagan:1988:Converting, AUTHOR = "F.G. Pagan", TITLE = "Converting Interpreters into Compilers", JOURNAL = "Software --- Practice and Experience", VOLUME = "18", NUMBER = "6", YEAR = "1988", MONTH = "June", PAGES = "509-527"} @Article{Pagan:1989:PartialComputation, author = "F.G. Pagan", title = "Partial Computation as a Practical Aid in the Compiler Construction Course", journal = "SIGCSE Bulletin", year = "1989", volume = "21", number = "2", pages = "2-8", month = "June", OPTnote = ""} @Article{Pagan:1990:ComparativeEfficiency, author = "F.G. Pagan", title = "Comparative Efficiency of General and Residual Parsers", journal = "Sigplan Notices", year = "1990", volume = "25", number = "4", pages = "59-65", month = "April", OPTnote = ""} @Book{Pagan:1991:PartialComputation, author = "F.G. Pagan", title = "Partial Computation and the Construction of Language Processors", publisher = P-H, year = "1991", note = ""} @Article{Palsberg:1993:CorrectnessOf, author = "J. Palsberg", title = "Correctness of Binding Time Analysis", journal = "Journal of Functional Programming", year = "1993", volume = "3", number = "3", pages = "347-363", month = "July", note = ""} @InProceedings{Parrain:1992:TowardsOptimization, author = "A. Parrain and P. Devienne and P. Lebegue", title = "Towards Optimization of Full {Prolog} Programs Guided by Abstract Interpretation", booktitle = WSA92, year = "1992", editor = "M. Billaud and others", pages = "295-303", publisher = "Rennes:\ IRISA", OPTnote = ""} @INPROCEEDINGS{ Pettorossi:1988:Importing, AUTHOR = "A. Pettorossi and M. Proietti", TITLE = "Importing and Exporting Information in Program Development", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "405-425", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "Several examples of transformation of inefficient programs into efficient ones by hand are presented, and the proposed approach, called lambda abstraction, is compared to other approaches."} Submitted as PeP94: @ARTICLE{Pettorossi:1994:TransformationOf, AUTHOR = "A. Pettorossi and M. Proietti", TITLE = "Transformation of Logic Programs: Foundations and Techniques", JOURNAL = "Journal of Logic Programming", YEAR = 1994, volume = "19,20", pages = "261--320"} @InProceedings{Pettorossi:1996:AComparative, author = "A. Pettorossi and M. Proietti", title = "A Comparative Revisitation of Some Program Transformation Techniques", crossref = "Danvy:1996:PartialEvaluation", pages = "355-385"} @InProceedings{Pettorossi:1996:ATheory, author = "A. Pettorossi and M. Proietti", title = "A Theory of Logic Program Specialization and Generalization for Dealing with Input Data Properties", crossref = "Danvy:1996:PartialEvaluation", pages = "386-408"} Submitted as PeP96c: @ARTICLE{Pettorossi:1996:RulesAnd, AUTHOR = "A. Pettorossi and M. Proietti", TITLE = "Rules and Strategies for Transforming Functional and Logic Programs", JOURNAL = "{ACM} Computing Surveys", YEAR = 1996, volume = "28", number = 2, pages = "360--414"} Submitted as Pe&96b: @INPROCEEDINGS{Pettorossi:1997:EnhancingPartial, AUTHOR = "A. Pettorossi and M. Proietti and S. Renault", TITLE = "Enhancing Partial Deduction via Unfold/Fold Rules", BOOKTITLE = "Logic Program Synthesis and Transformation, (LOPSTR'96), Stockholm, Sweden, August 28-30, 1996. (Lecture Notes in Computer Science, vol. 1207)", YEAR = 1997, editor = "J. Gallagher", pages = "147--168", publisher = S-V} Submitted as Pe&97a: @INPROCEEDINGS{Pettorossi:1997:ReducingNondeterminism, AUTHOR = "A. Pettorossi and M. Proietti and S. Renault", TITLE = "Reducing Nondeterminism While Specializing Logic Programs", BOOKTITLE = "24th {ACM} Symposium on Principles of Programming Languages, Paris, France, January 1997", YEAR = 1997, pages = "414--427", publisher = ACM} @Unpublished{Prestwich:1991:PartialEvaluation, author = "S. Prestwich", title = "Partial Evaluation by Unfold/Fold with Generalisation", note = "ECRC GmbH, Munich, Germany", year = "1990", month = "November"} @InProceedings{Prestwich:1993:OnlinePartial, author = "S. Prestwich", title = "Online Partial Deduction of Large Programs", booktitle = PEPM93, year = "1993", pages = "111-118", publisher = ACM, OPTnote = ""} @Article{Proietti:1993:TheLoop, author = "M. Proietti and A. Pettorossi", title = "The Loop Absorption and the Generalization Strategies for the Development of Logic Programs and Partial Deduction", journal = "Journal of Logic Programming", year = "1993", volume = "16", number = "1, 2", pages = "123-161", OPTnote = ""} Submitted as PrP95a: @ARTICLE{Proietti:1995:Unfolding-Definition-Folding, AUTHOR = "M. Proietti and A. Pettorossi ", TITLE = "Unfolding-Definition-Folding, in this Order, for Avoiding Unnecessary Variables in Logic Programs", Journal = TCS, YEAR = 1995, volume = "142", number = "1", pages = " 89--124"} @Proceedings{Proietti:1996:Lopstr95, title = "Logic Program Synthesis and Transformation, 5th International Workshop, LOPSTR'95, Utrecht, The Netherlands, September 1995", year = "1996", editor = "M. Proietti", volume = "1048", series = "Lecture Notes in Computer Science", publisher = S-V} @InProceedings{Przymusinska:1992:SoundnessAnd, author = "H. Przymusinska and T. Przymusinski and H. Seki", title = "Soundness and Completeness of Partial Deductions for Well-Founded Semantics", booktitle = "Logic Programming and Automated Reasoning, LPAR '92, St. Petersburg, Russia, July 1992 (Lecture Notes in Artificial Intelligence, vol. 624)", year = "1992", editor = "A. Voronkov", pages = "1-12", publisher = S-V, OPTnote = ""} @InProceedings{Puebla:1995:ImplementationOf, author = "G. Puebla and M. Hermenegildo", title = "Implementation of Multiple Specialization in Logic Programs", pages = "77-87", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ @InProceedings{Queinnec:1992:PartialEvaluation, author = "C. Queinnec and J.-M. Geffroy", title = "Partial Evaluation applied to Pattern Matching with Intelligent Backtracking", booktitle = WSA92, year = "1992", editor = "M. Billaud and others", pages = "109-117", publisher = "Rennes:\ IRISA", OPTnote = ""} RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR @InProceedings{Reeves:1990:Sketching, author = "A.C. Reeves and C. Rattray", title = "Sketching a Constructive Definition of ``mix''", booktitle = "Functional Programming, Glasgow, Scotland, 1989", year = "1990", editor = "Kei Davis and John Hughes", pages = "118-132", publisher = S-V, OPTnote = ""} @InProceedings{Reps:1996:ProgramSpecialization, author = "T. Reps and T. Turnidge", title = "Program Specialization via Program Slicing", crossref = "Danvy:1996:PartialEvaluation", pages = "409-429"} @ARTICLE{ Richardson:1991:Nevryon, AUTHOR = "G. Richardson", TITLE = "The Realm of {Nevryon}", JOURNAL = "Micro User", YEAR = "June 1991"} @TECHREPORT{ Romanenko:1983:AnApplication, AUTHOR = "S.A. Romanenko", TITLE = "An Application of Mixed Computation to Assemblers and Loaders", INSTITUTION = "Keldysh Institute of Applied Mathematics", ADDRESS = "Moscow, USSR", YEAR = "1983", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "27", ANNOTE = "Mixed computation is applied to the development of an assembler and a linking loader. The load module is considered to be a residual program produced by mixed computation of an assembler over a source module with frozen parameter values. When these are available, the load module can be executed to generate an absolute program."} @TECHREPORT{ Romanenko:1987:ACompiler, AUTHOR = "S.A. Romanenko", TITLE = "A Compiler Generator Produced by Self-Application of a Specializer Can Have a Clear and Natural Structure", INSTITUTION = "Keldysh Institute of Applied Mathematics", ADDRESS = "Moscow, USSR", YEAR = "1987", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "26", ANNOTE = "The paper describes the structure of and ideas behind a self-applicable program specializer, and the principles of operation of a compiler generator produced automatically by specializing the specializer with respect to itself. The structure of the compilers produced is improved by means of some new devices suggested."} @TECHREPORT{ Romanenko:1987:Refal-4, AUTHOR = "S.A. Romanenko", TITLE = "Refal-4, an Extension of {R}efal-2, for Representing Results of Driving", INSTITUTION = "Keldysh Institute of Applied Mathematics", ADDRESS = "Moscow, USSR", YEAR = "1987", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "147", ANNOTE = "The paper describes a number of constructs to be introduced into the language Refal-2. These will make it possible to represent the results of various optimizations that are performed by the Refal-compiler but cannot be represented in Refal-2 alone."} @INPROCEEDINGS{ Romanenko:1988:ACompilerGenerator, AUTHOR = "S.A. Romanenko", TITLE = "A Compiler Generator Produced by a Self-Applicable Specializer Can Have a Surprisingly Natural and Understandable Structure", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "445-463", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "English version of [Romanenko 87a]."} @InCollection{Romanenko:1988:ConstructionOf, author = "A. Romanenko", title = "Construction of Inverse Functions", booktitle = "Semiotic Aspects of Formalization of Intellectual Activities", publisher = "", year = "1988", pages = "62-65", address = "Moscow", note = "(In Russian)"} @InCollection{Romanenko:1988:Meta-MetaEvaluation, author = "S. Romanenko", title = "Meta-Meta Evaluation and Program Specialization", booktitle = "Semiotic Aspects of Formalization of Intellectual Activities", publisher = "", year = "1988", pages = "65-68", address = "Moscow", note = "(In Russian)"} @INPROCEEDINGS{ Romanenko:1988:TheGeneration, AUTHOR = "A.Y. Romanenko", TITLE = "The Generation of Inverse Functions in {R}efal", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "427-444", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "Some problems in automatic generation of inverse functions are solved by means of configurational analysis: an analysis of the computation history. Some extensions of the Refal language are suggested to support function inversion."} @InProceedings{Romanenko:1990:ArityRaiser, author = "S.A. Romanenko", title = "Arity Raiser and Its Use in Program Specialization", booktitle = "ESOP '90. 3rd European Symposium on Programming, Copenhagen, Denmark, May 1990 (Lecture Notes in Computer Science, vol. 432)", year = "1990", editor = "N. Jones", pages = "341-360", publisher = S-V, note = ""} @InProceedings{Romanenko:1991:Metacomputations, author = "A. Romanenko", title = "Inversion and Metacomputation", booktitle = PEPM, year = "1991", pages = "12-22", publisher = ACM, OPTnote = ""} @InProceedings{Ross:1989:ThePartial, author = "B.J. Ross", title = "The Partial Evaluation of Imperative Programs Using {Prolog}", booktitle = "Meta-Programming in Logic Programming", year = "1989", editor = "H. Abramson and M.H. Rogers", pages = "341-363", publisher = MIT} @InProceedings{Ruf:1991:UsingTypes, author = "E. Ruf and D. Weise", title = "Using Types to Avoid Redundant Specialization", booktitle = PEPM, year = "1991", pages = "321-333", publisher = ACM, OPTnote = ""} @techreport{Ruf:1992:AvoidingRedundant, author = "E. Ruf and D. Weise", title = "Avoiding Redundant Specialization during Partial Evaluation", institution = "Computer Systems Laboratory, Stanford University", month = "April", year = "1992", number = "CSL-TR-92-518", address = "Stanford, CA"} @InProceedings{Ruf:1992:Improving, author = "E. Ruf and D. Weise", title = "Improving the Accuracy of Higher-Order Specialization Using Control Flow Analysis", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "67-74", OPTnote = ""} @techreport{Ruf:1992:OnTheSpecialization, author = "E. Ruf and D. Weise", title = "On the Specialization of Online Program Specializers", institution = "Computer Systems Laboratory, Stanford University", year = "1992", month = "July", number = "CSL-TR-92-534", address = "Stanford, CA"} @techreport{Ruf:1992:OpportunitiesFor, author = "E. Ruf and D. Weise", title = "Opportunities for Online Partial Evaluation", institution = "Computer Systems Laboratory, Stanford University", month = "April", year = "1992", number = "CSL-TR-92-516", address = "Stanford, CA"} @techreport{Ruf:1992:PreservingInformation, author = "E. Ruf and D. Weise", title = "Preserving Information during Online Partial Evaluation", institution = "Computer Systems Laboratory, Stanford University", month = "April", year = "1992", number = "CSL-TR-92-517", address = "Stanford, CA"} @Article{Ruf:1993:OnTheSpecialization, author = "E. Ruf and D. Weise", title = "On the Specialization of Online Program Specializers", journal = "Journal of Functional Programming", year = "1993", volume = "3", number = "3", pages = "251-281", month = "July", note = ""} @PhDThesis{Ruf:1993:TopicsIn, author = "E. Ruf", title = "Topics in Online Partial Evaluation", school = "Stanford University, California", year = "1993", OPTaddress = "", month = "February", note = "Published as technical report {CSL-TR-93-563}"} @InProceedings{Rytz:1992:APolyvariant, author = "B. Rytz and M. Gengler", title = "A Polyvariant Binding Time Analysis", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "21-28", OPTnote = ""} SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS @INPROCEEDINGS{ Safra:1986:MetaInterpreters, AUTHOR = "S. Safra and E. Shapiro", TITLE = "Meta Interpreters for Real", BOOKTITLE = "Information Processing 86, Dublin, Ireland", EDITOR = "H.-J. Kugler", PUBLISHER = N-H, YEAR = "1986", PAGES = "271-278", ANNOTE = "Partial evaluation is defined and its applications to compilation and compiler generation are outlined. Several Prolog metainterpreters are described and it is argued that partial evaluation is useful for reducing the overhead incurred by metainterpretation."} @MASTERSTHESIS{ Safra:1986:Partial, AUTHOR = "S. Safra", TITLE = "Partial Evaluation of Concurrent {P}rolog and Its Implications", SCHOOL = "CS86-24, Weizmann Institute of Science", ADDRESS = "Rehovot, Israel", YEAR = "1986", MONTH = "July", ANNOTE = ""} @InProceedings{Sahlin:1990:TheMixtusApproach, author = "D. Sahlin", title = "The {Mixtus} Approach to Automatic Partial Evaluation of Full {Prolog}", booktitle = "Logic Programming: Proceedings of the 1990 North American Conference, Austin, Texas, October 1990", year = "1990", editor = "S. Debray and M. Hermenegildo", pages = "377-398", publisher = MIT} @PhDThesis{Sahlin:1991:AnAutomatic, author = "D. Sahlin", title = "An Automatic Partial Evaluator for Full Prolog", school = "Kungliga Tekniska H{\"o}gskolan, Stockholm, Sweden", year = "1991", OPTaddress = "", OPTmonth = "March", note = "Report TRITA-TCS-9101"} @InProceedings{Saint-James:1992:PartialEvaluation, title = "Partial Evaluation in an Industrial Context: Compiling for Endomorphic Machines", author = "E. Saint-James", booktitle = WSA92, year = "1992", editor = "M. Billaud and others", pages = "102-108", publisher = "Rennes:\ IRISA", OPTnote = ""} @TechReport{Sakama:1986:PartialEvaluation, author = "C. Sakama and H. Itoh", title = "Partial Evaluation of Knowledge Base as Specification for Queries", institution = "Institute for New Generation Computer Technology, Tokyo, Japan", year = "1986", type = "ICOT technical report ", number = "223", OPTnote = ""} @ARTICLE{ Sakama:1988:Partial, AUTHOR = "C. Sakama and H. Itoh", TITLE = "Partial Evaluation of Queries in Deductive Databases", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "249-258", ANNOTE = "The paper presents an application of partial evaluation to query optimization in a deductive database. The compilation approach to query processing is extended to multiple query processing using the generalization technique."} @InProceedings{Sakharov:1996:Specialization, author = "A. Sakharov", title = "Specialization of Imperative Programs through Analysis of Relational Expressions", crossref = "Danvy:1996:PartialEvaluation", pages = "430-445"} @InProceedings{Salomon:1996:UsingPartial, author = "D.J. Salomon", title = "Using partial evaluation in support of portability, reusability, and maintainability", editor = "T. Gyim{\'o}thy", pages = "208-222", booktitle = "Compiler Construction, Link{\"o}ping, Sweden. (Lecture Notes in Computer Science, vol. 1060)", year = "1996", publisher = S-V, OPTnote = "", OPTannote = ""} @INCOLLECTION{ Samochadin:1982:Optimizer, AUTHOR = "A.V. Samochadin", TITLE = "Optimizer for Structured Microcomputer Assembler Programs", BOOKTITLE = "Microprocessor Programming", PAGES = "89-99", PUBLISHER = "Valgus", ADDRESS = "Tallin, USSR", YEAR = "1982", NOTE = "(In Russian)", ANNOTE = "The mixed computation algorithms Smix and Dmix for structured assembly programs are described."} @InProceedings{Sato:1990:AnEquivalence, author = "T. Sato", title = "An Equivalence Preserving First Order Unfold/Fold Transformation System", booktitle = "Algebraic and Logic Programming, Second International Conference, Nancy, France, October 1990. (Lecture Notes in Computer Science, vol. 463)", year = "1990", editor = "H. Kirchner and W. Wechler", pages = "173-188", publisher = S-V, OPTnote = ""} @PhDThesis{Scherlis:1980:ExpressionProcedures, author = "W.L. Scherlis", title = "Expression Procedures and Program Derivation", school = "Stanford University, California", year = "1980", OPTaddress = "", month = "August", note = "Stanford Computer Science Report STAN-CS-80-818"} @InProceedings{Scherlis:1981:ProgramImprovement, author = "W.L. Scherlis", title = "Program Improvement by Internal Specialization", booktitle = "Eighth ACM Symposium on Principles of Programming Languages, Williamsburg, Virginia, January 1981", year = "1981", pages = "41-49", publisher = ACM, OPTnote = ""} @INPROCEEDINGS{ Schmidt:1988:StaticProperties, AUTHOR = "D.A. Schmidt", TITLE = "Static Properties of Partial Evaluation", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "465-483", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "Fundamental properties of call-by-value partial reduction of lambda-calculus expressions are stated and proved. A two-level type system plays an important role in the proofs. An algorithm for assigning a two-level typing to an expression is given."} @MASTERSTHESIS{ Schooler:1984:Partial, AUTHOR = "R. Schooler", TITLE = "Partial Evaluation as a Means of Language Extensibility", SCHOOL = "MIT/LCS/TR-324, Laboratory for Computer Science, MIT", ADDRESS = "Cambridge, Massachusetts", YEAR = "1984", MONTH = "August", ANNOTE = "A partial evaluator for an applicative subset of Scheme is developed. It can deal with side-effects, but does not try to optimize them. User-supplied annotations guide the partial evaluator which is intended to be used in a system for supporting language extensibility."} @Article{Seki:1993:Unfold/fold, author = "H. Seki", title = "Unfold/fold Transformation of General Logic Programs for the Well-Founded Semantics", journal = "Journal of Logic Programming", year = "1993", volume = "16", number = "1, 2", pages = "5-23", OPTnote = ""} @INCOLLECTION{ Sestoft:1986:TheStructure, AUTHOR = "P. Sestoft", TITLE = "The Structure of a Self-Applicable Partial Evaluator", BOOKTITLE = "Programs as Data Objects, Copenhagen, Denmark, 1985 (Lecture Notes in Computer Science, vol. 217)", EDITOR = "H. Ganzinger and N.D. Jones", PAGES = "236-256", PUBLISHER = S-V, YEAR = "1986", ANNOTE = "The structure of the self-applicable partial evaluator reported in \cite{Jones:1985:AnExperiment} is presented in detail. The problems arising from self-application are discussed, and experience from using the partial evaluator for generation of compilers and a compiler generator is assessed."} @Article{Sestoft:1988:ABibliography, author = "P. Sestoft and H. S{\o}ndergaard", title = "A Bibliography on Partial Evaluation", journal = "Sigplan Notices", year = "1988", volume = "23", number = "2", pages = "19-27", month = feb, OPTnote = ""} @InCollection{Sestoft:1988:AnnotatedBibliography:proceedings, author = "P. Sestoft and A.V. Zamulin", title = "Annotated Bibliography on Partial Evaluation and Mixed Computation", booktitle = "Partial Evaluation and Mixed Computation", publisher = N-H, year = "1988", editor = BEJ, pages = "589-622", OPTnote = ""} @Article{Sestoft:1988:AnnotatedBibliography:NGC, author = "P. Sestoft and A.V. Zamulin", title = "Annotated Bibliography on Partial Evaluation and Mixed Computation", journal = NGC, year = "1988", volume = "6", number = "2, 3", pages = "309-354", OPTnote = ""} @INPROCEEDINGS{ Sestoft:1988:AutomaticCall, AUTHOR = "P. Sestoft", TITLE = "Automatic Call Unfolding in a Partial Evaluator", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "485-506", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The partial evaluator described in \cite{Jones:1985:AnExperiment} and \cite{Sestoft:1986:TheStructure} is extended with a mechanism to make automatic call annotations and hence avoid the need for human assistance. The problems with call unfolding are discussed, the new mechanism is described, and results from its use are reported."} @Proceedings{Sestoft:1995:SpecialIssue, title = "Special Issue on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94). (Lisp and Symbolic Computation, vol. 8, no. 3)", year = "1995", editor = "P. Sestoft and H. S{\o}ndergaard", OPTnote = "", OPTannote = ""} @InProceedings{Sestoft:1996:MLPattern, author = "P. Sestoft", title = "{ML} Pattern Match Compilation and Partial Evaluation", crossref = "Danvy:1996:PartialEvaluation", pages = "446-464"} @ARTICLE{ Shapiro:1986:Concurrent, AUTHOR = "E. Shapiro", TITLE = "Concurrent {P}rolog: A Progress Report", JOURNAL = "Computer", YEAR = "1986", MONTH = "August", VOLUME = "19", NUMBER = "8", PAGES = "44-58", ANNOTE = "In this survey paper on Concurrent Prolog, partial evaluation is mentioned as a technique to reduce metainterpreter overhead."} @InProceedings{Shaposhnikowa:1986:PolyvariantMixed, author = "T.A. Shaposhnikowa", title = "Polyvariant Mixed Computation for Algol-like Programs", booktitle = "Problems of Improvement of Synthesis, Testing, Verification and Debugging of Programs, Riga, Latvia", year = "1986", OPTeditor = "", pages = "131-132", month = "November", note = "(In Russian)"} @InProceedings{Sheard:1997:AType-directed, author = "T. Sheard", title = "A Type-directed, On-line, Partial Evaluator for a Polymorphic Language", pages = "22-35", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Sherman:1991:OptimizationOfEquational, author = "D. Sherman and R. Strandh and I. Durand", title = "Optimization of Equational Programs Using Partial Evaluation", booktitle = PEPM, year = "1991", pages = "72-82", publisher = ACM, OPTnote = ""} @InProceedings{Sherman:1992:CallUnfolding, author = "D. Sherman and R. Strandh", title = "Call Unfolding Strategies for Equational Logic Programs", booktitle = PEPM92, publisher = Yale, year = "1992", pages = "48-53", OPTnote = ""} @InProceedings{Smith:1990:PartialEvaluation, author = "D. Smith and T. Hickey", title = "Partial Evaluation of a CLP Language", booktitle = "Logic programming, 1990 North American Conference", year = "1990", editor = "S. Debray and M. Hermenegildo", pages = "119-138", publisher = MIT, OPTnote = ""} @Article{Smith:1990:KIDS, author = "D.R. Smith", title = "{KIDS}: a Semiautomatic Program Development System", journal = "IEEE Transactions on Software Engineering", year = "1990", volume = "16", number = "9", pages = "1024-1043", month = "September", OPTnote = "", annote = "Presents an interactive program development system which has components for algorithm design, deductive inference, program simplification, partial evaluation, finite differencing, data type refinement, and other development operations."} @InProceedings{Smith:1991:PartialEvaluation, author = "D.A. Smith", title = "Partial Evaluation of Pattern Matching in Constraint Logic Programming Languages", booktitle = PEPM, year = "1991", pages = "62-71", publisher = ACM, OPTnote = ""} @Unpublished{Soendergaard:1984:APrimitive, AUTHOR = "H. S{\o}ndergaard", TITLE = "A Primitive Autoprojector for a Simple Applicative Language", note = "Student Project, 84-2-4, DIKU, University of Copenhagen, Denmark", year = "1984", month = "November", ANNOTE = "This report is about work towards that presented in \cite{Jones:1985:AnExperiment}. An analysis of the problems involved in partial evaluation is carried out, a one-phase self-applicable partial evaluator is presented, and the results are critically reviewed. Problems to be solved by future work are outlined."} @InProceedings{Soerensen:1994:AGrammar-Based, author = "M.H. S{\o}rensen", title = "A Grammar-based Data-flow Analysis to Stop Deforestation", pages = "335--351", booktitle = "Trees in Algebra and Programming, Edinburgh, England, April 1994 (Lecture Notes in Computer Science, vol. 787)", year = 1994, keywords = "deforestation, termination"} @MastersThesis{Soerensen:1994:Turchin'sSupercompiler, author = "M.H. S{\o}rensen", title = "Turchin's Supercompiler Revisited", school = DIKU, year = "1994", note = "DIKU Research Report 94/9", OPTtype = "", OPTannote = ""} @InProceedings{Soerensen:1994:TowardsUnifying, author = "M.H. S{\o}rensen and R. Gl{\"u}ck and N.D. Jones", title = "Towards Unifying Partial Evaluation, Deforestation, Supercompilation, and {GPC}", 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 = "485-500", publisher = S-V, OPTnote = ""} @InProceedings{Soerensen:1995:AnAlgorithm, AUTHOR = {S{\o}rensen, M.H. and Gl{\"u}ck, R.}, YEAR = {1995}, TITLE = {An Algorithm of Generalization in Positive Supercompilation}, BOOKTITLE = {International Logic Programming Symposium}, editor = {Lloyd, J.W.}, publisher = MIT, pages = {to appear}, month = {}} @InProceedings{Sperber:1995:TheEssence, author = "M. Sperber and P. Thiemann", title = "The Essence of {LR} Parsing", pages = "146-155", booktitle = PEPM95, year = "1995", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Sperber:1996:Self-ApplicableOnline, author = "M. Sperber", title = "Self-Applicable Online Partial Evaluation", crossref = "Danvy:1996:PartialEvaluation", pages = "465-480"} @InProceedings{Sperber:1996:BootstrappingHigher-Order, author = "M. Sperber and R. Gl{\"u}ck and P. Thiemann", title = "Bootstrapping Higher-Order Program Transformers from Interpreters", pages = "408--413", booktitle = "1996 ACM Symposium on Applied Computing, Programming Languages Track, Philadelphia, Pennsylvania, 1996", year = 1996, keywords = "program transformation, specializer generation, specializer projections, higher-order removal"} @InProceedings{Sperber:1996:RealisticCompilation, author = "M. Sperber and P. Thiemann", title = "Realistic Compilation By Partial Evaluation", pages = "206--214", booktitle = "ACM SIGPLAN '96 Conference on Programming Language Design and Implementation, Philadelphia, Pennsylvania, May 1996 (SIGPLAN Notices, vol. 31, no. 5)", year = 1996, publisher = ACM, keywords = "compiler generation, online partial evaluation, optimizing compilation, higher-order removal, tail recursion"} @InProceedings{Sperber:1997:DistributedPartial, author = "M. Sperber and H. Klaeren and P. Thiemann", title = "Distributed Partial Evaluation", booktitle = "PASCO'97: Second International Symposium on Parallel Symbolic Computation, Maui, Hawaii, July 1997", year = 1997, editor = "E. Kaltofen", publisher = "World Scientific", pages = "80-87" } @InProceedings{Sperber:1997:TwoFor, author = "M. Sperber and P. Thiemann", title = "Two for the Price of One: Composing Partial Evaluation and Compilation", booktitle = "ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, Las Vegas, Nevada, June 1997", organization = "ACM", year = 1997, pages = "215-225" } @InProceedings{Sridhar:1995:AutomaticPrecondition, author = "A. Sridhar and R. Vemuri", title = "Automatic Precondition Verification for High-Level Design Transformations", pages = "2654-2657", booktitle = "1990 IEEE International Symposium on Circuits and Systems", year = "1990", publisher = IEEE, OPTnote = "", annote = "Applies partial evaluation, symbolic equivalences, and other techniques to effectively verify preconditions in a control graph with arbitrarly nested conditional and iterative constructs."} @Unpublished{Steensgaard:1990:ParameterSplitting, author = "B. Steensgaard and M. Marquard", title = "Parameter Splitting in a Higher Order Functional Language", note = "Student Project 90-7-1, DIKU, University of Copenhagen, Denmark", year = "1990", month = "August"} @TECHREPORT{ Stepanov:1981:Experimental, AUTHOR = "A.M. Stepanov", TITLE = "Experimental Programming System", INSTITUTION = CCN, YEAR = "1981", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "305", ANNOTE = "The properties of a parallel abstract machine are discussed. It is shown that the proposed mechanism of data processing can be used as a universal computational tool. A simplified version of the external machine language is described, and the perspectives of development of the system are discussed."} @TECHREPORT{ Stepanov:1981:Frames, AUTHOR = "A.M. Stepanov", TITLE = "Frames and Parallel Mixed Computation", INSTITUTION = CCN, YEAR = "1981", NOTE = "(In Russian)", TYPE = "Preprint", NUMBER = "297", ANNOTE = "A parallel abstract machine based on the notion of frame is described. The notions of relation and scheme for depicting standard data structures are introduced."} @INPROCEEDINGS{ Sterling:1986:Incremental, AUTHOR = "L. Sterling and R.D. Beer", TITLE = "Incremental Flavor-Mixing of Meta-Interpreters for Expert System Construction", BOOKTITLE = "Proc. 3rd Symposium on Logic Programming, Salt Lake City, Utah", YEAR = "1986", publisher = IEEECSP, PAGES = "20-27", ANNOTE = "A partial evaluator is used for eliminating the inefficiency of use of metainterpreters in an expert system. Problems of how to guide a partial evaluator for Prolog are discussed."} @Article{Sterling:1989:Metainterpreters, author = "L. Sterling and R.D. Beer", title = "Metainterpreters for Expert System Construction", journal = "Journal of Logic Programming", year = "1989", volume = "6", pages = "163-178", OPTnote = ""} @ARTICLE{ Sternberg:1977:Economical, AUTHOR = "L.F. Sternberg", TITLE = "Economical Algorithms of {INCOL} Algorithmic Language Interpretation", JOURNAL = "Kybernetika", YEAR = "1977", NOTE = "(In Russian)", NUMBER = "1", PAGES = "69-74", ANNOTE = "Algorithms for interpretation of the Incol language are described. Common sublists and references are used in the algorithms. In this way, linearity is preserved."} @InProceedings{Sundaresh:1991:IncrementalComputation, author = "R.S. Sundaresh and P. Hudak", title = "Incremental Computation via Partial Evaluation", booktitle = "Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando, Florida", year = "1991", pages = "1-13", publisher = ACM, month = "January", OPTnote = ""} @InProceedings{Sundaresh:1991:BuildingIncremental, author = "R.S. Sundaresh", title = "Building Incremental Programs Using Partial Evaluation", booktitle = PEPM, year = "1991", pages = "83-93", publisher = ACM, OPTnote = ""} @PhdThesis{Sundaresh:1991:IncrementalComputation:Thesis, author = "R.S. Sundaresh", title = "Incremental Computation via Partial Evaluation", school = "Yale University", year = "1991", address = "New Haven, Connecticut, USA", month = "December", note = "Also: Research Report YALEU/DCS/RR-889"} TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT @InProceedings{Taha:1997:Multi-Stage, author = "W. Taha and T. Sheard", title = "Multi-Stage Programming with Explicit Annotations", pages = "203-217", booktitle = PEPM97, year = "1997", publisher = ACM, OPTnote = "", OPTannote = ""} @InProceedings{Takano:1993:GeneralizedPartial, author = "A. Takano", title = "Generalized Partial Computation Using Disunification to Solve Constraints ", booktitle = "Conditional Term Rewriting Systems, CTRS-92, Pont-{\`a}-Mousson, France, July 1992 (Lecture Notes in Computer Science, vol. 656)", year = "1993", editor = "M. Rusinowitch and J.L. R{\'e}my", pages = "424-428", publisher = S-V, OPTnote = ""} @INCOLLECTION{ Takeuchi:1986:Affinity, AUTHOR = "A. Takeuchi", TITLE = "Affinity between Meta Interpreters and Partial Evaluation", BOOKTITLE = "Information Processing 86, Dublin, Ireland", EDITOR = "H.-J. Kugler", PAGES = "279-282", PUBLISHER = N-H, YEAR = "1986", ANNOTE = "An affinity between generality of metainterpreters and specialization by partial evaluation is noticed. Two open problems with this view are pointed out and discussed. One relates to the semantics of partial evaluation of non-deterministic parallel languages and the other concerns metalevel descriptions of parallel computation."} @INCOLLECTION{ Takeuchi:1986:Partial, AUTHOR = "A. Takeuchi and K. Furukawa", TITLE = "Partial Evaluation of {P}rolog Programs and Its Application to Meta Programming", BOOKTITLE = "Information Processing 86, Dublin, Ireland", EDITOR = "H.-J. Kugler", PAGES = "415-420", PUBLISHER = N-H, YEAR = "1986", ANNOTE = "Partial evaluation of Prolog programs and its application to metaprogramming are presented. It is shown how the inefficiency incurred by metaprograms can be removed by means of partial evaluation without losing the expressive power of metaprogramming."} @ARTICLE{ Takeuchi:1988:Competitive, AUTHOR = "A. Takeuchi and H. Fujita", TITLE = "Competitive Partial Evaluation -- Some Remaining Problems of Partial Evaluation", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "259-277", ANNOTE = "Two case studies are presented that show how partial evaluation can improve efficiency. The many problems to be solved before partial evaluation can produce results comparable to those expert programmers produce are also discussed."} @TECHREPORT{ Takewaki:1985:Application, AUTHOR = "T. Takewaki and others", TITLE = "Application of Partial Evaluation to the Algebraic Manipulation System and Its Evaluation", INSTITUTION = "ICOT", ADDRESS = "Tokyo, Japan", YEAR = "1985", TYPE = "Technical Report", NUMBER = "TR-148", ANNOTE = "The paper describes an application of partial evaluation to an algebraic manipulation system using metaprogramming."} @InProceedings{Takano:1991:GeneralizedPartial, author = "A. Takano", title = "Generalized Partial Computation for a Lazy Functional Language", booktitle = PEPM, year = "1991", pages = "1-11", publisher = ACM, OPTnote = ""} @INPROCEEDINGS{ Talcott:1988:Partial, AUTHOR = "C. Talcott and R. Weyhrauch", TITLE = "Partial Evaluation, Higher-Order Abstractions, and Reflection Principles as System Building Tools", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "507-529", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The paper describes interactive programming environments for symbolic computation quite generally and raises some challenging problems for partial evaluation in this context."} @InProceedings{Thiemann:1995:TheGeneration, author = "P. Thiemann and R. Gl{\"u}ck", title = "The Generation of a Higher-Order Online Partial Evaluator", editor = "M. Takeichi", pages = "239--253", booktitle = "Fuji Workshop on Functional and Logic Programming, Fuji Susono, Japan, July 1995", year = 1995, publisher = "World Scientific Press, Singapore", keywords = "online partial evaluation, specializer projections"} @InProceedings{Thiemann:1996:CogenIn, author = "P. Thiemann", title = "Cogen in 6 Lines", pages = "180--189", booktitle = "International Conference on Functional Programming (ICFP'97), Philadelphia, Pennsylvania, May 1996", year = 1996, publisher = ACM, keywords = "cogen approach, continuation-based partial evaluation"} @InProceedings{Thiemann:1996:PolyvariantExpansion, author = "P. Thiemann and M. Sperber", title = "Polyvariant Expansion and Compiler Generators", crossref = "AEIIS:1996:Perspectives", pages = "123-130"} @InProceedings{Thiemann:1996:ImplementingMemoization, author = "P. Thiemann", title = "Implementing Memoization for Partial Evaluation", booktitle = "Programming Language Implementation and Logic Programming, Aachen, Germany, September 1997. (Lecture Notes in Computer Science, vol. 1140)", year = 1996, editor = "H. Kuchen and D. Swierstra", publisher = S-V, pages = "198-212" } @InProceedings{Thiemann:1997:AUnified, author = "P. Thiemann", title = "A Unified Framework for Binding-Time Analysis", booktitle = "TAPSOFT '97: Theory and Practice of Software Development, Lille, France, April 1997. (Lecture Notes in Computer Science, vol. 1214)", editor = "M. Bidoit and M. Dauchet", year = 1997, publisher = S-V, pages = "742-756" } @InProceedings{Thiemann:1997:CorrectnessOf, author = "P. Thiemann", title = "Correctness of a Region-Based Binding-Time Analysis", booktitle = "Mathematical Foundations of Programming Semantics, Thirteenth Annual Conference, Pittsburgh, Pennsylvania, March 1997", year = 1997, publisher = "Elsevier", organization = "Carnegie Mellon University", pages = "26" } @InProceedings{Thiemann:1997:ProgramGeneration, author = "P. Thiemann and M. Sperber", title = "Program Generation With Class", pages = "", booktitle = "Informatik'97, Aachen, Germany, September 1997", editor = "M. Jarke and K. Pasedach and K. Pohl", year = 1997, publisher = S-V } @InProceedings{Thiemann:1998:AGeneric, author = "P. Thiemann", title = "A Generic Framework for Specialization", YEAR = 1998, booktitle = "7th European Symposium on Programming, Lissabon, Portugal, April 1998. (Lecture Notes in Computer Science, vol. ????)", editor = "C. Hankin", publisher = S-V, pages = "", note = "(to appear)" } @ARTICLE{ Trakhtenbrot:1980:OnTransformations, AUTHOR = "M.B. Trakhtenbrot", TITLE = "On Transformations Which Complete Program Definition", JOURNAL = "Kybernetika", YEAR = "1980", NOTE = "(In Russian)", NUMBER = "2", PAGES = "55-60", ANNOTE = "A definition of correctness of program transformations is suggested. Transformations and program constructs are considered which permit to increase the quality and reliability of programs."} @INPROCEEDINGS{ Turchin:1972:EquivalentTransformation, AUTHOR = "V.F. Turchin", TITLE = "Equivalent Transformation of Recursive Functions Defined in Refal", BOOKTITLE = "Trudy Vsesoyuzn. Simpos Teoria Yazykov i Metody Progr.", ORGANIZATION = "Alushta-Kiev", YEAR = "1972", NOTE = "(In Russian)", PAGES = "31-42", ANNOTE = "The basic rules of transformation of Refal programs are introduced. The rule of driving (forced instantiation with unfolding) is shown to be the most important tool. As an example of driving, it is shown how the algorithm of subtraction of binary numbers can be produced from the algorithm for addition."} @INPROCEEDINGS{ Turchin:1974:EquivalentTransformations, AUTHOR = "V.F. Turchin", TITLE = "Equivalent Transformations of {R}efal Programs", BOOKTITLE = "Automatizirovannaya Sistema Upravlenya Stroitelstvom, vol. VI", PUBLISHER = "Moscow:\ TsNIPIASS", YEAR = "1974", NOTE = "(In Russian)", PAGES = "36-68", ANNOTE = ""} @BOOK{ Turchin:1977:BasicRefal, EDITOR = "V.F. Turchin", TITLE = "Basic {R}efal and Its Implementation on Computers", PUBLISHER = "Moscow:\ GOS\-STROI SSSR, TsNIPIASS", YEAR = "1977", NOTE = "(In Russian)", ANNOTE = "Treats the definition of Refal, its use, programming techniques and implementation on the main Soviet computers. The chapter on translation includes a discussion of the method of constructing compilers and compiler compilers by self-application of a supercompiler (a partial evaluator)."} @ARTICLE{ Turchin:1979:ASupercompiler, AUTHOR = "V.F. Turchin", TITLE = "A Supercompiler System Based on the Language {R}efal", JOURNAL = "SIGPLAN Notices", YEAR = "1979", MONTH = "February", VOLUME = "14", NUMBER = "2", PAGES = "46-54", ANNOTE = "The paper describes a projected programming system in which the user will be able to create and define various specialized programming languages in Refal and to generate translators for them automatically."} @INCOLLECTION{ Turchin:1980:SemanticDefinitions, AUTHOR = "V.F. Turchin", TITLE = "Semantic Definitions in {R}efal and Automatic Production of Compilers", BOOKTITLE = "Semantics-Directed Compiler Generation, Aarhus, Denmark (Lecture Notes in Computer Science, vol. 94)", EDITOR = "N.D. Jones", PAGES = "441-474", PUBLISHER = S-V, YEAR = "1980", ANNOTE = "The operational semantics of a programming language can be defined in Refal. Then a compiler for the language can be built automatically by supercompilation and self-application. A simple supercompilation example is given."} @TECHREPORT{ Turchin:1980:TheLanguageRefal, AUTHOR = "V.F. Turchin", TITLE = "The Language {R}efal, the Theory of Compilation and Metasystem Analysis", INSTITUTION = "Courant Institute of Mathematical Sciences", ADDRESS = "New York University, New York", YEAR = "1980", MONTH = "February", TYPE = "Courant Computer Science Report", NUMBER = "20", ANNOTE = "A detailed exposition of the language Refal and interpretation, compilation and transformation of Refal programs. The concept of metasystem transition is investigated using Refal."} @INCOLLECTION{ Turchin:1980:TheUse, AUTHOR = "V.F. Turchin", TITLE = "The Use of Metasystem Transition in Theorem Proving and Program Optimization", BOOKTITLE = "Automata, Languages and Programming. Seventh ICALP, Noordwijkerhout, The Netherlands (Lecture Notes in Computer Science, vol. 85)", EDITOR = "J. De Bakker and J. van Leeuven", PAGES = "645-657", PUBLISHER = S-V, YEAR = "1980", ANNOTE = "The paper describes the use of a supercompiler as a theorem prover. Examples from recursive arithmetics are considered. When a direct supercompilation does not lead to a proof, it may be possible to do the proof by supercompiling the process of supercompilation itself (achieving a so-called metasystem transition)."} @INCOLLECTION{ Turchin:1982:Experiments, AUTHOR = "V.F. Turchin and R.M. Nirenberg and D.V. Turchin", TITLE = "Experiments with a Supercompiler", BOOKTITLE = "1982 ACM Symposium on Lisp and Functional Programming, Pittsburgh, Pennsylvania", PAGES = "47-55", PUBLISHER = ACM, YEAR = "1982", ANNOTE = "A dozen simple examples show how the supercompiler created at the City College of New York is working. The examples include partial evaluation, program specialization, problem solving, and theorem proving."} @INCOLLECTION{ Turchin:1986:ProgramTransformation, AUTHOR = "V.F. Turchin", TITLE = "Program Transformation by Supercompilation", BOOKTITLE = "Programs as Data Objects, Copenhagen, Denmark, 1985 (Lecture Notes in Computer Science, vol. 217)", EDITOR = "H. Ganzinger and N.D. Jones", PAGES = "257-281", PUBLISHER = S-V, YEAR = "1986", ANNOTE = "Driving is defined as forced instantiation of a function call for all possible value cases of the arguments, followed by unfolding. An algorithm for driving in Refal with a lazy evaluation semantics is given. Repeated driving with search for recurring configurations (supercompilation) becomes a method of program transformation."} @ARTICLE{ Turchin:1986:TheConcept, AUTHOR = "V.F. Turchin", TITLE = "The Concept of a Supercompiler", JOURNAL = "ACM Transactions on Programming Languages and Systems", YEAR = "1986", MONTH = "July", VOLUME = "8", NUMBER = "3", PAGES = "292-325", ANNOTE = "The general principles and algorithms of supercompilation are described and compared with the usual approach to program transformation as stepwise application of equivalence transformations. Refal, used as the base language for supercompilation, is formally defined and compared with Lisp and Prolog. Examples are given."} @INPROCEEDINGS{ Turchin:1988:TheAlgorithm, AUTHOR = "V.F. Turchin", TITLE = "The Algorithm of Generalization in the Supercompiler", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "531-549", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "The central problem of supercompilation is how to choose a self-sufficient finite set of configurations of the computing system. Generalization over configurations is necessary for this. The paper describes an algorithm of generalization in the process of driving (forced unfolding) which always terminates and produces a self-sufficient set."} @Book{Turchin:1989:Refal-5, author = "V.F. Turchin", title = "Refal-5, Programming Guide {\&} Reference Manual", publisher = "Holyoke, MA:\ New England Publishing Co.", year = "1989", OPTnote = ""} @Article{Turchin:1993:ProgramTransformation, author = "V.F. Turchin", title = "Program Transformation with Metasystem Transitions", journal = "Journal of Functional Programming", year = "1993", volume = "3", number = "3", pages = "283-313", month = "July", note = ""} @InProceedings{Turchin:1996:Metacomputation, author = "V.F. Turchin", title = "Metacomputation: Metasystem Transitions Plus Supercompilation", crossref = "Danvy:1996:PartialEvaluation", pages = "481-509"} UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV @Article{VanHarmelen:1988:Explanation-Based, author = "van Harmelen, F. and A. Bundy", title = "Explanation-Based Generalisation = Partial Evaluation", journal = "Artificial Intelligence", year = "1988", volume = "36", pages = "401-412", OPTnote = ""} @InCollection{VanHarmelen:1989:TheLimitations, author = "van Harmelen, F.", title = "The Limitations of Partial Evaluation", booktitle = "Logic-Based Knowledge Representation", publisher = MIT, year = "1989", editor = "P. Jackson and H. Reichgelt and van Harmelen, F.", OPTchapter = "", OPTpages = "", OPTnote = ""} @InProceedings{Vanhoof:1998:BottomUp, author = "W. Vanhoof and De Schreye, D. and B. Martens", title = "Bottom Up Specialization: Towards General Foundations", editor = "P. Flener and K.-K. Lau", OPTpages = "", booktitle = "LOPSTR'98, Manchester, United Kingdom, June 1998", year = "1998", OPTpublisher = "", OPTnote = "(Preliminary proceedings)", OPTannote = ""} @InProceedings{Vasell:1993:APartial, author = "J. Vasell", title = "A Partial Evaluator for Data Flow Graphs", booktitle = PEPM93, year = "1993", pages = "206-215", publisher = ACM, OPTnote = ""} @INCOLLECTION{ Vasey:1986:Qualified, AUTHOR = "P. Vasey", TITLE = "Qualified Answers and Their Application to Transformation", BOOKTITLE = "Third International Conference on Logic Programming, London, United Kingdom (Lecture Notes in Computer Science, vol. 225)", EDITOR = "E. Shapiro", PAGES = "425-432", PUBLISHER = S-V, YEAR = "1986", ANNOTE = "A metainterpreter for giving so-called qualified answers to Prolog queries is devised, and is shown to be useful for program transformation and program specialization."} @INCOLLECTION{ Venken:1984:AProlog, AUTHOR = "R. Venken", TITLE = "A {P}rolog Meta-Interpreter for Partial Evaluation and Its Application to Source to Source Transformation and Query-Optimisation", BOOKTITLE = "ECAI-84, Advances in Artificial Intelligence, Pisa, Italy", EDITOR = "T. O'Shea", PAGES = "91-100", PUBLISHER = N-H, YEAR = "1984", ANNOTE = "A partial evaluator for full Prolog is presented which relies on user-supplied annotations. It is intended for optimization of deductive database enquiries."} @ARTICLE{ Venken:1988:APartial, AUTHOR = "R. Venken and B. Demoen", TITLE = "A Partial Evaluation System for {P}rolog: Some Practical Considerations", JOURNAL = "New Generation Computing", YEAR = "1988", VOLUME = "6", NUMBER = "2,3", PAGES = "279-290", ANNOTE = "The operation principles of a Prolog partial evaluator are described, and some performance considerations are made. The conclusion is drawn that some 'natural' optimizations may be harmful to performance if they disturb the possibility of optimized implementation (by a compiler, say)."} WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW @InProceedings{Wadler:1988:DeforestationTransforming, author = "P. Wadler", title = "Deforestation: Transforming Programs to Eliminate Trees", pages = "344--358", booktitle = "ESOP '88. European Symposium on Programming, Nancy, France, 1988 (Lecture Notes in Computer Science, vol. 300)", year = 1988, publisher = S-V, keywords = "deforestation"} @InProceedings{Wand:1993:SpecifyingThe, author = "M. Wand", title = "Specifying the Correctness of Binding-Time Analysis", booktitle = "Twentieth ACM Symposium on Principles of Programming Languages, Charleston, South Carolina, January 1993", year = "1993", pages = "137-143", organization = "ACM", publisher = ACM, note = ""} @Article{Wand:1993:SpecifyingThe:JFP, author = "M. Wand", title = "Specifying the Correctness of Binding-Time Analysis", journal = "Journal of Functional Programming", year = "1993", volume = "3", number = "3", pages = "365-387", month = "July", note = ""} @TechReport{Weise:1990:ComputingTypes, author = "D. Weise and E. Ruf", title = "Computing Types During Program Specialization", institution = "Stanford Computer Science Laboratory", year = "1990", OPTtype = "", number = "CSL-TR-90-441", month = "October", OPTnote = ""} @InProceedings{Weise:1991:AutomaticOnline, author = "D. Weise and R. Conybeare and E. Ruf and S. Seligman", title = "Automatic Online Partial Evaluation", booktitle = "Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523)", year = "1991", editor = "J. Hughes", pages = "165-191", publisher = S-V, note = ""} XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY @ARTICLE{ Youganova:1987:MixedComputation, AUTHOR = "T.I. Youganova", TITLE = "Mixed Computation Correctness: Incol Language Example", JOURNAL = "Programmirovanie", YEAR = "1987", NOTE = "(In Russian)", NUMBER = "2", PAGES = "67-77", ANNOTE = "The peculiarities of mixed computation in the language Incol by means of delay control are considered. Local correctness as a feature of computation is described and the reason for its failure are analyzed."} @INPROCEEDINGS{ Youganova:1988:AModel, AUTHOR = "T.I. Youganova", TITLE = "A Model of Language Semantics Oriented to Mixed Execution of Programs", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "551-572", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "Features of mixed computation as incorporated into software to support decision making with incomplete information are discussed. The language Incol which is intended for mixed computation of programs and which contains suspension recognition and control facilities is also described."} @INPROCEEDINGS{ Young:1988:Experience, AUTHOR = "J. Young and P. O'Keefe", TITLE = "Experience with a Type Evaluator", BOOKTITLE = PEMC, EDITOR = BEJ, PAGES = "573-581", PUBLISHER = N-H, YEAR = "1988", ANNOTE = "A type system for a lazy side-effect free language is developed, and the concepts of safety and preciseness of type evaluators are defined. A safe type semantics is presented, and various techniques for improving it and making it implementable are discussed."} ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ @INCOLLECTION{ Zakharova:1986:Denotational:Riga, AUTHOR = "N.T. Zakharova", TITLE = "Denotational Semantics of Mixed Computation in a {P}ascal Subset", BOOKTITLE = "Problems in Program Synthesis, Testing, Verification and Debugging, vol. 1", PAGES = "132-134", PUBLISHER = "Riga, USSR", YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "The process of mixed computation for a Pascal subset is briefly described. A criterion of functional correctness and a corresponding theorem are formulated."} @INCOLLECTION{ Zakharova:1986:Denotational:Tallin, AUTHOR = "N.T. Zakharova and V.A. Petrushin", TITLE = "Denotational Semantics of Mixed Computation in a Simple Structured Programming Language", BOOKTITLE = "Application of Mathematical Logic Methods", PAGES = "74-76", PUBLISHER = "Tallin, USSR", YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "Two denotational models for mixed computation in a simple structured programming language are briefly described. A theorem concerning functional correctness of the models is formulated."} @INPROCEEDINGS{ Zakharova:1987:Denotational, AUTHOR = "N.T. Zakharova and V.A. Petrushin and E.L. Yushchenko", TITLE = "Denotational Semantics of Mixed Computation Processes", BOOKTITLE = "\cite{Bjoerner:1987:WorkshopCompendium}", YEAR = "1987", PAGES = "379-388", ANNOTE = "A denotational model of ordinary computation and two denotational models of mixed computation in a simple structured programming language are presented. A criterion of functional correctness of mixed computation and the corresponding theorems are formulated."} @ARTICLE{ Zakharova:1988:Denotational, AUTHOR = "N.T. Zakharova and V.A. Petrushin and E.L. Yushchenko", TITLE = "Denotational Semantics of Mixed Computation of a Structured Programming Language", JOURNAL = "Kybernetika", YEAR = "1988", NOTE = "(In Russian)", ANNOTE = "A denotational model of ordinary computation and two denotational models of mixed computation in a simple structured language are presented. A criterion of functional correctness of mixed computation is given and a theorem concerning the functional correctness is proved for one of the models."} @INCOLLECTION{ Zamulin:1986:Programming, AUTHOR = "A.V. Zamulin and I.N. Skopin", TITLE = "Programming Language Constructs as Data Types", BOOKTITLE = "Applied Informatics", PAGES = "93-110", PUBLISHER = "Finansy i Statistika, Iss. 2", ADDRESS = "Moscow, USSR", YEAR = "1986", NOTE = "(In Russian)", ANNOTE = "The application of a unified data type constructor to the definition of data processed at the compilation and execution stages is studied. The approach permits to represent all programming language constructs as an integrated data type system."} @TechReport{Zierer:1988:ProgrammingWith, author = "H. Zierer", title = "Programming with Function Objects. Constructive Realization of Semantic Domains and Application to Partial Evaluation", institution = "Institut f{\"u}r Informatik, Technical University of Munich, Germany", year = "1988", type = "TUM-I", number = "8803", OPTnote = ""}