finin@PRC.UNISYS.COM (08/09/88)
Date: Thu, 21 Jul 88 14:27 EDT From: finin@PRC.Unisys.COM To: ailist@ai.ai.mit.edu Subject: Unisys AI Seminar: Describing Program Transformers with Higher-order Unification AI SEMINAR UNISYS PAOLI RESEARCH CENTER Describing Program Transformers with Higher-order Unification John J. Hannan Computer and Information Science University of Pennsylvania Source-to-source program transformers belong to the class of meta-programs that manipulate programs as objects. It has previously been argued that a higher-order extension of Prolog, such as Lambda-Prolog, makes a suitable implementation language for such meta-programs. In this paper, we consider this claim in more detail. In Lambda-Prolog, object-level programs and program schemata can be represented using simply typed lambda-terms and higher-order (functional) variables. Unification of these lambda-terms, called higher-order unification, can elegantly describe several important meta-level operations on programs. We detail some properties of higher-order unification that make it suitable for analyzing program structures. We then present (in Lambda-Prolog) the specification of several simple program transformers and demonstrate how these can be combined to yield more general transformers. With the depth-first control strategy of Lambda-Prolog for both clause selection and unifier selection all the above mentioned specifications can be and have been executed and tested. 2:00 pm Wednesday, August 3 Unisys Paloi Research Center BIC Conference Room Route 252 and Central Ave. Paoli PA 19311 -- non-Unisys visitors who are interested in attending should -- -- send email to finin@prc.unisys.com or call 215-648-7446 --