mark richardson wrote:
Hi,

I was speaking to my lecturer today regarding unification and we were hoping someone could explain something.

If you consider the following program:

declare
X=fun {$ Y} Y+2 end
X=fun {$ Y} Y+2 end
Which functions would you like to consider equal?

What about

declare
X=fun {$ Y} Y+2 end
X=fun {$ Z}  Z+2 end

or what about

declare
X=fun {$ Y} Y+2 end
X=fun {$ Z}  2+Z end

In Oz, the decision is that different occurences of
functions are different. Each of them gets assigned
a unique Identifier.

There is no form of higher-order unification, and that
is a very reasonable decision.

All the best
Joachim Niehren


_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to