on termination
Andrew J Bromage
ajb@spamcop.net
Fri, 9 May 2003 12:38:10 +1000
G'day all.
On Thu, May 08, 2003 at 08:15:11PM +1000, Peter Gammie wrote:
> Utility? Absolutely none. ;-)
Not true. The Mercury group did this analysis for a reason, namely,
that the transformation:
p :- q, r.
becomes
p :- r, q.
preserves static semantics in a declarative logic language, however
it does not preserve operational semantics unless r always terminates.
I suppose this is somewhat analogous to strictness analysis or other
analyses designed to preserve full laziness in Haskell.
Cheers,
Andrew Bromage