[PPL-devel] Arguments reversed
Roberto Bagnara
bagnara at cs.unipr.it
Fri Apr 19 10:33:20 CEST 2002
Patricia Hill wrote:
> In the copy methods/predicates the arguments have been reversed
> to match the corresponding ones in the C interface.
> Now the 1st argument unifies with a handle for the new polyhedron
> and the 2nd argument is the handle for the source/original polyhedron.
> Predicates affected are:
> ppl_new_C_Polyhedron_from_C_Polyhedron,
> ppl_new_NNC_Polyhedron_from_NNC_Polyhedron,
> ppl_new_C_Polyhedron_from_NNC_Polyhedron,
> ppl_new_NNC_Polyhedron_from_C_Polyhedron.
Hmm, are you sure this is a good thing?
In C and C++ the ordering is as it is because of the similarity
with (destructive, one-way) assignment. That is the reason why
functions such as strcpy have an interface like this:
char *strcpy(char *dest, const char *src);
(do `man strcpy' to see this).
In Prolog there is no such a thing as the assignment and, consequently,
there is not this tradition. See, for instance, the definition of
copy_term/2:
copy_term(?Term,?CopyOfTerm) [ISO]
My vote is against this change.
BTW: if you try `make check' you will see that everything is broken at the moment.
Ciao
Roberto
--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara at cs.unipr.it
More information about the PPL-devel
mailing list