Jones N.D.Partial evaluation and automatic program generation.1999
.pdfBibliography 391
[31]A. Bondorf, `Improving binding times without explicit cps-conversion', in 1992 ACM Conference in Lisp and Functional Programming, San Francisco, California (Lisp Pointers, vol. V, no. 1, 1992), pp. 1{10, New York: ACM, 1992.
[32]A. Bondorf and O. Danvy, `Automatic autoprojection of recursive equations with global variables and abstract data types', Science of Computer Programming, 16:151{195, 1991.
[33]A. Bondorf, F. Frauendorf, and M. Richter, An Experiment in Automatic Self-Applicable Partial Evaluation of Prolog, Technical Report 335, Lehrstuhl Informatik V, University of Dortmund, Germany, 1990.
[34]A. Bondorf and T. Mogensen, `Logimix: A self-applicable partial evaluator for Prolog'. DIKU, University of Copenhagen, Denmark, May 1990.
[35]A. Bossi, N. Cocco, and S. Dulli, `A method for specializing logic programs', ACM Transactions on Programming Languages and Systems, 12(2):253{302, April 1990.
[36]R.S. Boyer and J.S. Moore, `Proving theorems about Lisp functions', Journal of the ACM, 22(1):129{144, January 1975.
[37]M. Bruynooghe, D. de Schreye, and B. Martens, `A general criterion for avoiding in nite unfolding during partial deduction of logic programs', in V. Saraswat and K. Ueda (eds.),
Logic Programming: International Symposium, pp. 117{131, Cambridge, MA: MIT Press, 1991.
[38]M. Bugliesi, E. Lamma, and P. Mello, `Partial evaluation for hierarchies of logic theories', in S. Debray and M. Hermenegildo (eds.), Logic Programming: Proceedings of the 1990 North American Conference, Austin, Texas, October 1990, pp. 359{376, Cambridge, MA: MIT Press, 1990.
[39]M. Bugliesi and F. Rossi, `Partial evaluation in Prolog: Some improvements about cut', in E.L. Lusk and R.A. Overbeek (eds.), Logic Programming: Proceedings of the North American Conference 1989, Cleveland, Ohio, October 1989, pp. 645{660, Cambridge, MA: MIT Press, 1989.
[40]M.A. Bulyonkov, `Polyvariant mixed computation for analyzer programs', Acta Informatica, 21:473{484, 1984.
[41]M.A. Bulyonkov, `A theoretical approach to polyvariant mixed computation', in D. Bj rner, A.P. Ershov, and N.D. Jones (eds.), Partial Evaluation and Mixed Computation, pp. 51{64, Amsterdam: North-Holland, 1988.
[42]M.A. Bulyonkov and A.P. Ershov, `How do ad-hoc compiler constructs appear in universal mixed computation processes?', in D. Bj rner, A.P. Ershov, and N.D. Jones (eds.), Partial Evaluation and Mixed Computation, pp. 65{81, Amsterdam: North-Holland, 1988.
[43]R.M. Burstall and J. Darlington, `A transformation system for developing recursive programs', Journal of the ACM, 24(1):44{67, January 1977.
[44]D. Chan and M. Wallace, `A treatment of negation during partial evaluation', in H. Abramson and M.H. Rogers (eds.), Meta-Programming in Logic Programming, pp. 299{318, Cambridge, MA: MIT Press, 1989.
[45]W.N. Chin, `Automatic methods for program transformation', Ph.D. thesis, Department of Computing, Imperial College, London, England, March 1990.
[46]H. Christiansen and N. Jones, `Control ow treatment in a simple semantics-directed compiler generator', in D. Bj rner (ed.), Formal Description of Programming Concepts | II, Garmisch-Partenkirchen, Germany, June 1982, pp. 73{97, Amsterdam: North-Holland, 1983.
392Bibliography
[47]A. Church, `A note on the Entscheidungsproblem', Journal of Symbolic Logic, 1:40{41 and 101{102, 1936.
[48]A. Church, The Calculi of Lambda-Conversion, volume 6 of Annals of Mathematics Studies, Princeton, NJ: Princeton University Press, 1941.
[49]W. Clinger and J. Rees (editors), `Revised4 report on the algorithmic language Scheme', Lisp Pointers, IV(3):1{55, 1991.
[50]M. Codish and E. Shapiro, `Compiling or-parallelism into and-parallelism', in E. Shapiro (ed.), Third International Conference on Logic Programming, London, United Kingdom (Lecture Notes in Computer Science, vol. 225), pp. 283{297, Berlin: Springer-Verlag, 1986. Also in New Generation Computing 5 (1987) 45-61.
[51]C. Consel, `New insights into partial evaluation: The Schism experiment', in H. Ganzinger (ed.), ESOP '88, 2nd European Symposium on Programming, Nancy, France, March 1988 (Lecture Notes in Computer Science, vol. 300), pp. 236{246, Berlin: Springer-Verlag, 1988.
[52]C. Consel, `Analyse de programmes, evaluation partielle et generation de compilateurs', Ph.D. thesis, Universite de Paris 6, Paris, France, June 1989. (In French).
[53]C. Consel, `Binding time analysis for higher order untyped functional languages', in 1990 ACM Conference on Lisp and Functional Programming, Nice, France, pp. 264{272, New York: ACM, 1990.
[54]C. Consel and O. Danvy, `Partial evaluation of pattern matching in strings', Information Processing Letters, 30:79{86, January 1989.
[55]C. Consel and O. Danvy, Partial Evaluation in Parallel (Detailed Abstract), Research Report 820, Computer Science Department, Yale University, 1990.
[56]C. Consel and O. Danvy, `For a better support of static data ow', in J. Hughes (ed.), Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523), pp. 496{519, ACM, Berlin: Springer-Verlag, 1991.
[57]C. Consel and O. Danvy, `Static and dynamic semantics processing', in Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando, Florida, pp. 14{24, New York: ACM, January 1991.
[58]C. Consel and O. Danvy, `Tutorial notes on partial evaluation', in Twentieth ACM Symposium on Principles of Programming Languages, Charleston, South Carolina, January 1993, pp. 493{501, ACM, New York: ACM, 1993.
[59] C. Consel and S.C. Khoo, `Semantics-directed generation of a Prolog compiler', in J. Maluszynski and M. Wirsing (eds.), Programming Language Implementation and Logic Programming, 3rd International Symposium, PLILP '91, Passau, Germany, August 1991 (Lecture Notes in Computer Science, vol. 528), pp. 135{146, Berlin: Springer-Verlag, 1991.
[60]Charles Consel, The Schism Manual, Version 1.0, Yale University, New Haven, Connecticut, December 1990.
[61]K.D. Cooper, M.W. Hall, and K. Kennedy, `Procedure cloning', in Fourth IEEE International Conference on Computer Languages, pp. 96{105, Oakland, California, April 1992.
[62]P. Coscia et al., `Object level re ection of inference rules by partial evaluation', in P. Maes and D. Nardi (eds.), Meta-Level Architectures and Re ection, Sardinia, Italy, October 1986, pp. 313{327, Amsterdam: North-Holland, 1988.
[63]B. Courcelle, `Equivalences and transformations of regular systems { applications to recursive program schemes and grammars', Theoretical Computer Science, 42:1{122, 1986.
Bibliography 393
[64]P. Cousot, `Semantic foundations of program analysis', in S.S. Muchnick and N.D. Jones (eds.), Program Flow Analysis: Theory and Applications, chapter 10, pp. 303{342, Englewood Cli s, NJ: Prentice Hall, 1981.
[65]P. Cousot and R. Cousot, `Abstract interpretation: A uni ed lattice model for static analysis of programs by construction or approximation of xpoints', in Fourth ACM Symposium on Principles on Programming Languages, Los Angeles, California, January 1977, pp. 238{252, New York: ACM, 1977.
[66]O. Danvy, `Semantics-directed compilation of nonlinear patterns', Information Processing Letters, 37(6):315{322, March 1991.
[67]O. Danvy, `Back to direct style', Science of Computer Programming, 1993. To appear.
[68]O. Danvy and A. Filinski, `Representing control: A study of the cps transformation',
Mathematical Structures in Computer Science, 2(4):361{391, 1992.
[69]A. De Niel, E. Bevers, and K. De Vlaminck, `Partial evaluation of polymorphically typed
functional languages: The representation problem', in M. Billaud et al. (eds.), Analyse
Statique en Programmation Equationnelle, Fonctionnelle, et Logique, Bordeaux, France, Octobre 1991 (Bigre, vol. 74), pp. 90{97, Rennes: IRISA, 1991.
[70]H. Dybkj r, `Parsers and partial evaluation: An experiment'. Student Project 85-7-15, DIKU, University of Copenhagen, Denmark, July 1985.
[71]H. Dybkj r, `Category theory, types, and programming languages', Ph.D. thesis, DIKU, University of Copenhagen, Denmark, 1991. Also DIKU Report 91/11.
[72]J. Earley, `An e cient context-free parsing algorithm', Communications of the ACM, 13(2):94{102, February 1970.
[73]P. Emanuelson, `Performance enhancement in a well-structured pattern matcher through partial evaluation', Ph.D. thesis, Link•oping University, Sweden, 1980. Link•oping Studies in Science and Technology Dissertations 55.
[74]P. Emanuelson, `From abstract model to e cient compilation of patterns', in M. DezaniCiancaglini and U. Montanari (eds.), International Symposium on Programming, 5th Colloquium, Turin, Italy (Lecture Notes in Computer Science, vol. 137), pp. 91{104, Berlin: Springer-Verlag, 1982.
[75]P. Emanuelson and A. Haraldsson, `On compiling embedded languages in Lisp', in 1980 Lisp Conference, Stanford, California, pp. 208{215, New York: ACM, 1980.
[76]A.P. Ershov, `On the partial computation principle', Information Processing Letters, 6(2):38{41, April 1977.
[77]A.P. Ershov, `Mixed computation in the class of recursive program schemata', Acta Cybernetica, 4(1):19{23, 1978.
[78]A.P. Ershov, `On the essence of compilation', in E.J. Neuhold (ed.), Formal Description of Programming Concepts, pp. 391{420, Amsterdam: North-Holland, 1978.
[79]A.P. Ershov, `Mixed computation: Potential applications and problems for study', Theoretical Computer Science, 18:41{67, 1982.
[80]A.P. Ershov, `On Futamura projections', BIT (Japan), 12(14):4{5, 1982. (In Japanese).
[81]A.P. Ershov, `On mixed computation: Informal account of the strict and polyvariant computational schemes', in M. Broy (ed.), Control Flow and Data Flow: Concepts of Distributed Programming. NATO ASI Series F: Computer and System Sciences, vol. 14, pp. 107{120, Berlin: Springer-Verlag, 1985.
394Bibliography
[82]A.P. Ershov, `Opening key-note speech', New Generation Computing, 6(2,3):79{86, 1988.
[83]A.P. Ershov, `Opening key-note speech', in D. Bj rner, A.P. Ershov, and N.D. Jones (eds.), Partial Evaluation and Mixed Computation, pp. xxiii{xxix, Amsterdam: North-Holland, 1988.
[84]A.P. Ershov, D. Bj rner, Y. Futamura, K. Furukawa, A. Haraldson, and W. Scherlis (eds.),
Special Issue: Selected Papers from the Workshop on Partial Evaluation and Mixed Computation, 1987 (New Generation Computing, vol. 6, nos. 2,3), Tokyo: Ohmsha Ltd. and Berlin: Springer-Verlag, 1988.
[85]A.P. Ershov and B.N. Ostrovsky, `Controlled mixed computation and its application to systematic development of language-oriented parsers', in L.G.L.T. Meertens (ed.), Program Speci cation and Transformation. Proc. IFIP TC2/WG 2.1 Working Conference on Program Speci cation and Transformation, pp. 31{48, Amsterdam: North-Holland, 1987.
[86]A.K. Ferguson and P. Wadler, `When will deforestation stop?', in C. Hall, J. Hughes, and M. O'Donnell (eds.), Draft Proceedings, 1988 Glasgow Workshop on Functional Programming, Bute, Scotland, pp. 39{56, Glasgow University, 1988.
[87]M.J. Fischer, `Lambda calculus schemata', in ACM Conference on Proving Assertions about Programs (Sigplan Notices, vol. 7, no. 1, January 1972), pp. 104{109, New York: ACM, 1972.
[88]H. Fujita and K. Furukawa, `A self-applicable partial evaluator and its use in incremental compilation', New Generation Computing, 6(2,3):91{118, 1988.
[89]D.A. Fuller, `Partial evaluation and mix computation in logic programming', Ph.D. thesis, Imperial College, London, England, February 1989.
[90]D.A. Fuller and S. Abramsky, `Mixed computation of Prolog programs', New Generation Computing, 6(2,3):119{141, 1988.
[91]D.A. Fuller and S.A. Bocic, `Extending partial evaluation in logic programming', in
Proceedings of the XI International Conference of the Chilean Computer Science Society, Santiago, Chile, October 1991, New York: Plenum Press, 1991.
[92]Y. Futamura, `Partial evaluation of computation process { an approach to a compilercompiler', Systems, Computers, Controls, 2(5):45{50, 1971.
[93]Y. Futamura, `Partial computation of programs', in E. Goto et al. (eds.), RIMS Symposia on Software Science and Engineering, Kyoto, Japan, 1982 (Lecture Notes in Computer Science, vol. 147), pp. 1{35, Berlin: Springer-Verlag, 1983.
[94]J. Gallagher, `Transforming logic programs by specialising interpreters', in ECAI-86. 7th European Conference on Arti cial Intelligence, Brighton Centre, United Kingdom, pp. 109{122, Brighton: European Coordinating Committee for Arti cial Intelligence, 1986.
[95] J. Gallagher |
and M. Bruynooghe, `Some low-level |
source transformations |
for |
logic |
|
programs', |
in M. Bruynooghe (ed.), Proceedings of |
the Second |
Workshop |
on |
Meta- |
Programming in Logic, April 1990, Leuven, Belgium, pp. 229{246, |
Department of Com- |
||||
puter Science, KU Leuven, Belgium, 1990. |
|
|
|
|
|
[96]J. Gallagher, M. Codish, and E. Shapiro, `Specialisation of Prolog and FCP programs using abstract interpretation', New Generation Computing, 6(2,3):159{186, 1988.
[97]M.C. Gaudel, `Speci cation of compilers as abstract data type representations', in N.D. Jones (ed.), Semantics-Directed Compiler Generation, Aarhus, Denmark, January 1980 (Lecture Notes in Computer Science, vol. 94), pp. 140{164, Berlin: Springer-Verlag, 1980.
Bibliography 395
[98]R. Gl•uck, `Towards multiple self-application', in Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pp. 309{320, New York: ACM, 1991.
[99]R. Gl•uck, `Projections for knowledge based systems', in R. Trappl (ed.), Cybernetics and Systems Research '92. Vol. 1, pp. 535{542, Singapore: World Scienti c, 1992.
[100]R. Gl•uck and V.F. Turchin, `Application of metasystem transition to function inversion and transformation', in International Symposium on Symbolic and Algebraic Computation, ISSAC '90, Tokyo, Japan, pp. 286{287, New York: ACM, 1990.
[101]C. Goad, `Automatic construction of special purpose programs', in D.W. Loveland (ed.),
6th Conference on Automated Deduction, New York, USA (Lecture Notes in Computer Science, vol. 138), pp. 194{208, Berlin: Springer-Verlag, 1982.
[102]C. K. Gomard, `Higher order partial evaluation { HOPE for the lambda calculus', Master's thesis, DIKU, University of Copenhagen, Denmark, September 1989.
[103]C. K. Gomard and N. D. Jones, `Compiler generation by partial evaluation', in G. X. Ritter (ed.), Information Processing '89. Proceedings of the IFIP 11th World Computer Congress, pp. 1139{1144, IFIP, Amsterdam: North-Holland, 1989.
[104]C.K. Gomard, `Partial type inference for untyped functional programs', in 1990 ACM Conference on Lisp and Functional Programming, Nice, France, pp. 282{287, New York: ACM, 1990.
[105]C.K. Gomard, `A self-applicable partial evaluator for the lambda calculus: Correctness and pragmatics', ACM Transactions on Programming Languages and Systems, 14(2):147{172, April 1992.
[106]C.K. Gomard and N.D. Jones, `A partial evaluator for the untyped lambda-calculus',
Journal of Functional Programming, 1(1):21{69, January 1991.
[107]F.G. Gustavson, W. Liniger, and R. Willoughby, `Symbolic generation of an optimal Crout algorithm for sparse systems of linear equations', Journal of the ACM, 17(1):87{ 109, January 1970.
[108]M.A. Guzowski, `Towards developing a re exive partial evaluator for an interesting subset of Lisp', Master's thesis, Dept. of Computer Engineering and Science, Case Western Reserve University, Cleveland, Ohio, January 1988.
[109]J. Hannan, `Staging transformations for abstract machines', in Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pp. 130{141, New York: ACM, 1991.
[110]J. Hannan and D. Miller, `From operational semantics to abstract machines', in 1990 ACM Conference on Lisp and Functional Programming, Nice, France, pp. 323{332, New York: ACM, June 1990.
[111]T.A. Hansen, `Properties of unfolding-based meta-level systems', in Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pp. 243{254, New York: ACM, 1991.
[112]A. Haraldsson, `A program manipulation system based on partial evaluation', Ph.D. thesis, Link•oping University, Sweden, 1977. Link•oping Studies in Science and Technology Dissertations 14.
[113]A. Haraldsson, `A partial evaluator, and its use for compiling iterative statements in Lisp', in Fifth ACM Symposium on Principles of Programming Languages, Tucson, Arizona, pp. 195{202, New York: ACM, 1978.
396 Bibliography
[114]F. Henglein, `E cient type inference for higher-order binding-time analysis', in J. Hughes (ed.), Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523), pp. 448{472, ACM, Berlin: Springer-Verlag, 1991.
[115]J.R. Hindley, B. Lercher, and J.P. Seldin, Introduction to Combinatory Logic, Cambridge: Cambridge University Press, 1972.
[116]C.K. Holst, `Poor man's generalization'. DIKU, University of Copenhagen, Denmark, 1988.
[117]C.K. Holst, `Finiteness analysis', in J. Hughes (ed.), Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523), pp. 473{495, ACM, Berlin: Springer-Verlag, 1991.
[118]C.K. Holst and C.K. Gomard, `Partial evaluation is fuller laziness', in Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pp. 223{233, New York: ACM, 1991.
[119]C.K. Holst and J. Hughes, `Towards binding-time improvement for free', in S.L. Peyton Jones, G. Hutton, and C. Kehler Holst (eds.), Functional Programming, Glasgow 1990,
pp.83{100, Berlin: Springer-Verlag, 1991.
[120]N.C.K. Holst, `Language triplets: The AMIX approach', in D. Bj rner, A.P. Ershov, and N.D. Jones (eds.), Partial Evaluation and Mixed Computation, pp. 167{185, Amsterdam: North-Holland, 1988.
[121]P. Hudak, `Collecting interpretation of expressions', ACM Transactions on Programming Languages and Systems, 13(2):269{290, April 1991.
[122]S. Hunt and D. Sands, `Binding time analysis: A new PERspective', in Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pp. 154{165, New York: ACM, 1991.
[123]M. Huntbach, `Meta-interpreters and partial evaluation of Prolog', Formal Aspects of Computing, 1(2):193{211, 1989.
[124]ISO/IEC 9899:1990 International Standard, Programming Languages | C, 1990.
[125]V.E. Itkin, `On partial and mixed program execution', in Program Optimization and Transformation, pp. 17{30, Novosibirsk: Computing Center, 1983. (In Russian).
[126]H.F. Jacobsen, `Speeding up the back-propagation algorithm by partial evaluation'. Student Project 90-10-13, DIKU, University of Copenhagen, Denmark. (In Danish), October 1990.
[127]K. Jensen and N. Wirth, Pascal. User Manual and Report, Berlin: Springer-Verlag, second edition, 1978.
[128]S.C. Johnson, Yacc | Yet Another Compiler Compiler, Computing Science Technical Report 32, AT&T Bell Laboratories, New Jersey, USA, 1976.
[129]N.D. Jones (ed.), Semantics-Directed Compiler Generation, Aarhus, Denmark, January 1980 (Lecture Notes in Computer Science, vol. 94), Berlin: Springer-Verlag, 1980.
[130]N.D. Jones, `Automatic program specialization: A re-examination from basic principles', in D. Bj rner, A.P. Ershov, and N.D. Jones (eds.), Partial Evaluation and Mixed Computation,
pp.225{282, Amsterdam: North-Holland, 1988.
[131]N.D. Jones, `Partial evaluation, self-application and types', in M.S. Paterson (ed.), Automata, Languages and Programming. 17th International Colloquium, Warwick, England (Lecture Notes in Computer Science, vol. 443), pp. 639{659, Berlin: Springer-Verlag, 1990.
Bibliography 397
[132]N.D. Jones, `E cient algebraic operations on programs', in AMAST: Algebraic Methodology and Software Technology, pp. 245{267, University of Iowa, USA, May 1991.
[133]N.D. Jones, C.K. Gomard, A. Bondorf, O. Danvy, and T. Mogensen, `A self-applicable partial evaluator for the lambda calculus', in 1990 International Conference on Computer Languages, New Orleans, Louisiana, March 1990, pp. 49{58, New York: IEEE Computer Society, 1990.
[134]N.D. Jones and D.A. Schmidt, `Compiler generation from denotational semantics', in N.D. Jones (ed.), Semantics-Directed Compiler Generation, Aarhus, Denmark (Lecture Notes in Computer Science, vol. 94), pp. 70{93, Berlin: Springer-Verlag, 1980.
[135]N.D. Jones, P. Sestoft, and H. S ndergaard, `An experiment in partial evaluation: The generation of a compiler generator', in J.-P. Jouannaud (ed.), Rewriting Techniques and Applications, Dijon, France. (Lecture Notes in Computer Science, vol. 202), pp. 124{140, Berlin: Springer-Verlag, 1985.
[136]N.D. Jones, P. Sestoft, and H. S ndergaard, `Mix: A self-applicable partial evaluator for experiments in compiler generation', Lisp and Symbolic Computation, 2(1):9{50, 1989.
[137]S.L. Peyton Jones, The Implementation of Functional Programming Languages, Englewood Cli s, NJ: Prentice Hall, 1987.
[138]J. J rgensen, `Generating a pattern matching compiler by partial evaluation', in S.L. Peyton Jones, G. Hutton, and C. Kehler Holst (eds.), Functional Programming, Glasgow 1990, pp. 177{195, Berlin: Springer-Verlag, 1991.
[139]J. J rgensen, `Compiler generation by partial evaluation', Master's thesis, DIKU, University of Copenhagen, Denmark, 1992. Student Project 92-1-4.
[140]J. J rgensen, `Generating a compiler for a lazy language by partial evaluation', in Nineteenth ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico, January 1992, pp. 258{268, New York: ACM, 1992.
[141]U. J rring and W.L. Scherlis, `Compilers and staging transformations', in Thirteenth ACM Symposium on Principles of Programming Languages, St. Petersburg, Florida, pp. 86{96, New York: ACM, 1986.
[142]G. Kahn, `Natural semantics', in F.J. Brandenburg, G. Vidal-Naquet, and M. Wirsing (eds.), STACS 87. 4th Annual Symposium on Theoretical Aspects of Computer Science, Passau, Germany (Lecture Notes in Computer Science, vol. 247), pp. 22{39, Berlin: Springer-Verlag, 1987.
[143]K.M. Kahn, `A partial evaluator of Lisp programs written in Prolog', in M. Van Caneghem (ed.), First International Logic Programming Conference, Marseille, France, pp. 19{25, Marseille: Association pour la Di usion et le Developpement de Prolog, 1982.
[144]K.M. Kahn, `Partial evaluation, programming methodology, and arti cial intelligence', The AI Magazine, 5(1):53{57, 1984.
[145]K.M. Kahn and M. Carlsson, `The compilation of Prolog programs without the use of a Prolog compiler', in International Conference on Fifth Generation Computer Systems, Tokyo, Japan, pp. 348{355, Tokyo: Ohmsha and Amsterdam: North-Holland, 1984.
[146]U. Kastens, B. Hut, and E. Zimmermann, GAG: A Practical Compiler Generator (Lecture Notes in Computer Science, vol. 141), Berlin: Springer-Verlag, 1982.
[147]B.W. Kernighan and D.M. Ritchie, The C Programming Language, Englewood Cli s, NJ: Prentice Hall, second edition, 1988.
398 Bibliography
[148]S.C. Khoo and R.S. Sundaresh, `Compiling inheritance using partial evaluation', in Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pp. 211{222, New York: ACM, 1991.
[149]S.C. Kleene, Introduction to Metamathematics, Princeton, NJ: D. van Nostrand, 1952.
[150]D.E. Knuth, J.H. Morris, and V.R. Pratt, `Fast pattern matching in strings', SIAM Journal of Computation, 6(2):323{350, 1977.
[151]H.J. Komorowski, `A speci cation of an abstract Prolog machine and its application to partial evaluation', Ph.D. thesis, Link•oping University, Sweden, 1981. Link•oping Studies in Science and Technology Dissertations 69.
[152]H.J. Komorowski, `Partial evaluation as a means for inferencing data structures in an applicative language: A theory and implementation in the case of Prolog', in Ninth ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico, pp. 255{ 267, 1982.
[153]J. Komorowski, Synthesis of Programs in the Framework of Partial Deduction, Reports
on Computer Science and Mathematics, Ser. A 81, Department of Computer Science, Abo Akademi, Finland, 1989.
[154]L. Kott, `Unfold/fold program transformations', in M. Nivat and J. Reynolds (eds.), Algebraic Methods in Semantics, pp. 411{434, Cambridge: Cambridge University Press, 1985.
[155]H. Kr•oger, `Static-scope-Lisp: Splitting an interpreter into compiler and run-time system', in W. Brauer (ed.), GI-11. Jahrestagung, M•unchen, Germany, Informatik-Fachberichte 50, pp. 20{31, Berlin: Springer-Verlag, 1981. (In German).
[156]P. Kursawe, `How to invent a Prolog machine', New Generation Computing, 5:97{114, 1987.
[157]P. Kursawe, `Pure partial evaluation and instantiation', in D. Bj rner, A.P. Ershov, and N.D. Jones (eds.), Partial Evaluation and Mixed Computation, pp. 283{298, Amsterdam: North-Holland, 1988.
[158]A. Lakhotia and L. Sterling, `How to control unfolding when specializing interpreters', New Generation Computing, 8(1):61{70, 1990.
[159]A. Lakhotia and L. Sterling, `ProMiX: A Prolog partial evaluation system', in L. Sterling (ed.), The Practice of Prolog, chapter 5, pp. 137{179, Cambridge, MA: MIT Press, 1991.
[160]J. Lam and A. Kusalik, A Partial Evaluation of Partial Evaluators for Pure Prolog, Technical Report TR 90-9, Department of Computational Science, University of Saskatchewan, Canada, November 1990.
[161]P.J. Landin, `The mechanical evaluation of expressions', Computer Journal, 6(4):308{320, January 1964.
[162]P.J. Landin, `A correspondence between Algol 60 and Church's lambda-notation', Communications of the ACM, 8:89{101 and 158{165, 1965.
[163]J. Lassez, M.J. Maher, and K. Marriott, `Uni cation revisited', in J. Minker (ed.), Foundations of Deductive Databases and Logic Programming, chapter 15, pp. 587{625, Los Altos, CA: Morgan Kau man, 1988.
[164]J. Launchbury, `Projections for specialisation', in D. Bj rner, A.P. Ershov, and N.D. Jones (eds.), Partial Evaluation and Mixed Computation, pp. 299{315, Amsterdam: NorthHolland, 1988.
Bibliography 399
[165]J. Launchbury, `Projection factorisations in partial evaluation', Ph.D. thesis, Department of Computing, University of Glasgow, November 1989. Revised version in [167].
[166]J. Launchbury, `Dependent sums express separation of binding times', in K. Davis and J. Hughes (eds.), Functional Programming, Glasgow, Scotland, 1989, pp. 238{253, Berlin: Springer-Verlag, 1990.
[167]J. Launchbury, Projection Factorisations in Partial Evaluation, Cambridge: Cambridge University Press, 1991.
[168]J. Launchbury, `Strictness and binding-time analyses: Two for the price of one', in SIGPLAN '91 Conference on Programming Language Design and Implementation, June 1991, Toronto, Canada (Sigplan Notices, vol. 26, no. 6, June 1991), pp. 80{91, New York: ACM, 1991.
[169] J. Launchbury, `A strongly-typed self-applicable partial evaluator', in J. Hughes (ed.), Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523), pp. 145{164, ACM, Berlin: Springer-Verlag, 1991.
[170]P. Lee, Realistic Compiler Generation, Cambridge, MA: MIT Press, 1989.
[171]P. Lee and U. Pleban, `A realistic compiler generator based on high-level semantics', in Fourteenth Symposium on Principles of Programming Languages, Munich, Germany, January 1987, pp. 284{295, New York: ACM, 1987.
[172]G. Levi and G. Sardu, `Partial evaluation of metaprograms in a multiple worlds logic language', New Generation Computing, 6(2,3):227{247, 1988.
[173]B. Lisper, `Detecting static algorithms by partial evaluation', in Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pp. 31{42, New York: ACM, 1991.
[174]J.W. Lloyd and J.C. Shepherdson, `Partial evaluation in logic programming', Journal of Logic Programming, 11:217{242, 1991.
[175]L.A. Lombardi, `Incremental computation', in F.L. Alt and M. Rubino (eds.), Advances in Computers, vol. 8, pp. 247{333, New York: Academic Press, 1967.
[176]L.A. Lombardi and B. Raphael, `Lisp as the language for an incremental computer', in E.C. Berkeley and D.G. Bobrow (eds.), The Programming Language Lisp: Its Operation and Applications, pp. 204{219, Cambridge, MA: MIT Press, 1964.
[177]K. Malmkj r, `Predicting properties of residual programs', in Partial Evaluation and Semantics-Based Program Manipulation, San Francisco, California, June 1992 (Technical Report YALEU/DCS/RR-909), pp. 8{13, New Haven, CT: Yale University, 1992.
[178]M. Marquard and B. Steensgaard, `Partial evaluation of an object-oriented imperative language', Master's thesis, DIKU, University of Copenhagen, Denmark, 1992.
[179]S. Mazaher and D.M. Berry, `Deriving a compiler from an operational semantics written in VDL', Computer Languages, 10(2):147{164, 1985.
[180]J. McCarthy, `A basis for a mathematical theory of computation', in P. Bra ord and D. Hirschberg (eds.), Computer Programming and Formal Systems, pp. 33{70, Amsterdam: North-Holland, 1964.
[181]J. McCarthy et al., LISP 1.5 Programmer's Manual, MIT Computation Center and Research Laboratory of Electronics, 1962.
400 Bibliography
[182]U. Meyer, `Techniques for partial evaluation of imperative languages', in Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pp. 94{105, New York: ACM, 1991.
[183]U. Meyer, `Partial evaluation of imperative languages', Ph.D. thesis, Justus-Liebig- Universit•at, Giessen, Germany, 1992. (In German).
[184]R. Milner, `A theory of type polymorphism in programming', Journal of Computer and System Sciences, 17:348{375, 1978.
[185]R. Milner, M. Tofte, and R. Harper, The De nition of Standard ML, Cambridge, MA: MIT Press, 1990.
[186]T. Mogensen, `The application of partial evaluation to ray-tracing', Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
[187] T. Mogensen, `Partially static structures in a self-applicable partial evaluator', in D. Bj rner, A.P. Ershov, and N.D. Jones (eds.), Partial Evaluation and Mixed Computation, pp. 325{347, Amsterdam: North-Holland, 1988.
[188]T. Mogensen, `Binding time analysis for polymorphically typed higher order languages', in J. Diaz and F. Orejas (eds.), TAPSOFT '89. Proc. Int. Conf. Theory and Practice of Software Development, Barcelona, Spain, March 1989 (Lecture Notes in Computer Science, vol. 352), pp. 298{312, Berlin: Springer-Verlag, 1989.
[189]T. Mogensen, `Binding time aspects of partial evaluation', Ph.D. thesis, DIKU, University of Copenhagen, Denmark, March 1989.
[190]T. Mogensen, `Separating binding times in language speci cations', in Fourth International Conference on Functional Programming Languages and Computer Architecture, London, England, September 1989, pp. 14{25, Reading, MA: Addison-Wesley, 1989.
[191]T. Mogensen, `Self-applicable partial evaluation for pure lambda calculus', in Partial Evaluation and Semantics-Based Program Manipulation, San Francisco, California, June 1992 (Technical Report YALEU/DCS/RR-909), pp. 116{121, New Haven, CT: Yale University, 1992.
[192]T. Mogensen and A. Bondorf, `Logimix: A self-applicable partial evaluator for Prolog', in K.-K. Lau and T. Clement (eds.), LOPSTR 92. Workshops in Computing, Berlin: Springer-Verlag, January 1993.
[193]F.L. Morris, `The next 700 formal language descriptions'. (Stanford University, California), November 1970.
[194]P. Mosses, `Mathematical semantics and compiler generation', Ph.D. thesis, Oxford University, England, 1975.
[195]P. Mosses, SIS | Semantics Implementation System, Reference Manual and User Guide,
DAIMI Report MD-30, DAIMI, University of Arhus, Denmark, 1979.
[196]C. Mossin, `Similix binding time debugger manual, system version 4.0', Included in Similix distribution, September 1991.
[197]A. Mycroft, `Abstract interpretation and optimising transformations for applicative programs', Ph.D. thesis, Department of Computer Science, University of Edinburgh, Scotland, 1981. Also report CST-15-81.
[198]F. Nielson, `A denotational framework for data ow analysis', Acta Informatica, 18:265{ 287, 1982.
