Russ Abbott wrote:
Prolog has a univ operator (=..) which constructs and deconstructs terms.f(a, b, c) =.. [f, a, b, c]It works in either direction and unifies variables on either side as long as the "label" is an atom. Is there anything like that in Oz? I haven't seen it. Neither* =..* nor *univ* is in the index of CTM. Thanks.
Oz does not have =.. as a basic operator, but it can easily be defined. But =.. is almost never needed in practice. Oz has a much richer record data type that makes =.. superfluous. There are also good reasons why Oz does not have 'var' or '!' or assert or retract or setof or bagof. These operations are used in Prolog for particular programming techniques. In Oz there are better ways. For example, dictionaries are almost always a better primitive than assert or retract. Search engines are better than setof or bagof. And so forth. Oz is a descendant of AKL, which is a descendant of both Prolog and Concurrent Prolog. Oz has taken the best of these languages and left out the hacks. At least, that's my view! Peter _________________________________________________________________________________ mozart-users mailing list [email protected] http://www.mozart-oz.org/mailman/listinfo/mozart-users
