Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!news.sprintlink.net!simtel!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!cs.mu.OZ.AU!munta.cs.mu.OZ.AU!fjh
From: fjh@munta.cs.mu.OZ.AU (Fergus Henderson)
Subject: Re: symbolic global constants (not)
Message-ID: <9513505.3520@mulga.cs.mu.OZ.AU>
Sender: news@cs.mu.OZ.AU (CS-Usenet)
Organization: Computer Science, University of Melbourne, Australia
References: <3nq7vp$ihl@goanna.cs.rmit.edu.au> <D7y004.97H@ecrc.de> 	<3oapniINNejd@bhars12c.bnr.co.uk> 	<3ob4pk$su4@cheltenham.cs.arizona.edu> 	<9513119.11886@mulga.cs.mu.OZ.AU> <STEVEW.95May12234208@debretts.comp.vuw.ac.nz>
Date: Sun, 14 May 1995 19:07:34 GMT
Lines: 23

stevew@debretts.comp.vuw.ac.nz (Stephen Wray) writes:

>Sorry -- I seem to have missed something...
>
>What has inlining predicates got to do with partial evaluation -- or
>am I just getting confused with partial evaluation in non-strict/lazy
>functional languages?

Partial evaluation = inlining (a.k.a. unfolding) + constant propagation +
			dead code elimination + etc.

In other words, inlining is a big part of partial evaluation.
The "etc." is also a big part, if you want a self-applicable
partial evaluator, but for the purposes raised in this thread
inlining and constant propagation are all you need.

There seems to be a pretty large overlap in meaning between
"Partial evaluation" and "optimization".

-- 
Fergus Henderson                       | I'll forgive even GNU emacs as
fjh@cs.mu.oz.au                        | long as gcc is available ;-)
http://www.cs.mu.oz.au/~fjh            |             - Linus Torvalds
