[comp.lang.prolog] Unisys Seminar: Program Transformers with Higher-order Unification

finin@prc.unisys.com (Tim Finin) (07/26/88)

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)