Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!nosc!ucsd!ucbvax!decwrl!labrea!rutgers!gatech!udel!burdvax!finin@prc.unisys.com From: finin@prc.unisys.com (Tim Finin) Newsgroups: comp.lang.prolog Subject: Unisys Seminar: Program Transformers with Higher-order Unification Keywords: lambda-prolog, program transformer, higher-order unification AI SEMINAR UNISYS PAOLI RESEARCH CENTER Describing Program Transformers with Higher-order Unification John J. Hannan Computer and Informat Message-ID: <7069@burdvax.PRC.Unisys.COM> Date: 26 Jul 88 04:04:25 GMT Sender: news@PRC.Unisys.COM Reply-To: finin@prc.unisys.com Organization: Unisys - Paoli Research Center Paoli, PA Lines: 32 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 Paoli 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 -- -- Tim Finin finin@prc.unisys.com Paoli Research Center ..!{psuvax1,sdcrdcf,cbmvax}!burdvax!finin Unisys 215-648-7446 (office) 215-386-1749 (home) PO Box 517, Paoli PA 19301 215-648-7412 (fax)