Abstract
Suppose we are given a program P in some language L, and a set of inference rules based on unification that define the dynamic semantics of this language L. We propose a tactic for (partially) evaluating a given predicate in a set of inference rules, therefore proposing a new executable semantics to our rules. This tactic applied to P and to the dynamic semantics of L yields classically a new set of specialized inference rules that are a compiled version of P. Our partial evaluation tactic proposes and uses some original improvements, which are applicable to the general field of partial evaluation of unification-based languages.
Similar content being viewed by others
References
Bondorf. A.,Towards a Self-Applicable Partial Evaluator for Term Rewriting Systems (D. Bjørner, A. P. Ershov, N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, Gl. Avernaes, Denmark, October 1987.Proceedings, North-Holland, 1988.
Bowen, D., Byrd, L., Pereira, L. and Warren, D.,C-Prolog user’s manual, version 1.5 (F. Pereira, ed.), SRI International, Menlo Park, California, February, 1984.
Bruynooghe, M., “A Framework for the Abstract Interpretation of Logic Programs,”Report, C W 62, Katholieke Universiteit Leuven, October, 1987.
Clément, D., Despeyroux, J. and Th., Hascoët, L. and Kahn, G., “Natural semantics on the computer,”Rapport de recherche INRIA, N. 416, June, 1985.
Despeyroux, Th., “Spécifications sémantiques dans le système MENTOR,”Thèse, Université Paris XI, 1983.
Despeyroux, Th., “Executable specification of static semantics,” Semantics of data types,Lecture Notes in Computer Science, Vol. 173, June, 1984.
Ershov, A. P., “On the partial computation principle,”Information Processing Letters Vol. 6, No. 2, pp. 38–41, April, 1977.
Fujita, H. and Furukawa, K.,A Self-Applicable Partial Evaluator and Its Use in Incremental Compilation, (D. Bjørner, A. P. Ershov and N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, Gl. Avernaes, Denmark, October, 1987.Proceedings New Generation Computing Journal, 1988.
Furukawa, K. and Takeuchi, A., “Partial Evaluation of Prolog Programs and Its Application to Meta Programming,”Proceedings IFIP 10th World Computer Congress, Dublin, Ireland, pp. 415–420, 1986.
Futamura, Y., “Partial evaluation of computation process. An approach to a compiler-compiler,”Systems, Computers, Controls, Vol. 2, No. 5, pp. 45–50, 1971.
Futamura, Y.,Generalised Partial Computation (D. Bjørner, A. P. Ershov and N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, Gl. Avernaes, Denmark, October, 1987.Proceedings, North-Holland, 1988.
Gallagher, J. and Codish, M.,Specialication of Prolog and FCP Programs Using Abstract Interpretation (D. Bjørner, A. P. Ershov and N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, GI. Avernaes, Denmark, October, 1987.Proceedings New Generation Computing Journal, 1988.
Gentzen, G.,The Collected Papers of Gerhard Gentzen (E. Szabo, ed.), North-Holland, Amsterdam, 1969.
Hascoët, L., “A tactic-driven system for building proofs,”INRIA Research Report, No. 770, December, 1987.
Jones, N. D., Setsoft, P. and Søndergaard, H., “MLX: A self-applicable partial evaluator for experiments in compiler generation,”Report, No. 87/8, DIKU, University of Copenhagen, May, 1987.
Jones, N. D.,Towards Automating the Transformation of Programming Language Specifications into Implementations, Part I: 55p, Part II: 74p, 1987.
Kahn, G. “Natural Semantics,”Proceedings of STACS 1987, Lecture Notes in Computer Science, Vol. 247, Springer-Verlag, March, 1987.
Kahn, G. et al., “CENTAUR. The system,”INRIA Report, No. 777, December, 1987.
Kahn, K. M. and Carlsson, M., “The compilation of PROLOG programs without the use of PROLOG compiler,”International Conference on Fifth Generation Computer Systems, Tokyo, Japan, pp. 348–355, 1984.
Kanamori, T., “Soundness and completeness of extended execution for proving properties of PROLOG programs,”France-Japan Artificial Intelligence and Computer Science Symposium, Tokyo, Japan, pp. 219–238, 1986.
Kursawe, P.,Pure Partial Evaluation and Instantiation (D. Bjørner, A. P. Ershov and N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, Gl. Avernaes, Denmark, October, 1987.Proceedings, North-Holland, 1988.
Launchbury, J.,Projections for specialisation (D. Bjørner, A. P. Ershov and N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, Gl. Avernaes, Denmark, October, 1987.Proceedings, North-Holland, 1988.
Naish, L., “MU-Prolog 3.2 reference manual,”Technical Repotr, 85–11, University of Melbourne, 1985.
Plotkin, G. D., “A structural approach to operational semantics,”Technical Report, DAIMI-FN-19, University of Aarhus, September, 1981.
Schmidt, D. A.,Static Properties of Partial Reduction (D. Bjørner, A. P. Ershov and N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, Gl. Avernaes, Denmark, October, 1987.Proceedings, North-Holland, 1988.
Tamaki, H. and Sato, T., “Unfold-Fold Transformation of Logic Programs,”2nd International Logic Programming Conference, Uppsala, pp. 127–137, 1984.
Tuchin, V. F.,The Algorithm of Generalisation in the Supercompiler (D. Bjørner, A. P. Ershov and N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, Gl. Avernaes, Denmark, October, 1987.Proceedings, North-Holland, 1988.
Venken, R. and Demoen, B.,A Partial Evaluation System for Prolog: Some Practical Considerations (D. Bjørner, A. P. Ershov and N. D. Jones, eds.), Workshop on Partial Evaluation and Mixed Computation, Gl. Avernaes, Denmak, October, 1987.Proceedings New Generation Computing Journal, 1988.
Author information
Authors and Affiliations
About this article
Cite this article
Hascoët, L. Partial evaluation with inference rules. New Gener Comput 6, 187–209 (1988). https://doi.org/10.1007/BF03037137
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF03037137