From: Sandro Hawke ([email protected])
Date: 06/04/03
> > > As promised, please find, attached, the list of built-ins. This is a
> >> draft, a new version will be available next week with much more details.
> >
> >Understood; feel free to answer my questions in that new version
> >instead of e-mail, if that works better.
> >
> >General question: how do you propose to organize built-ins in terms of
> >input vs. output vs. bi-directional parameters? EG addition and
> >subtraction can be the same predicate:
> > sum(3,4,7) true if 3+4=7
> > sum(3,4,?x) binds ?x to 7 if unbound
> > sum(3,?y,7) binds ?y to 4 if unbound
>
> Does
>
> sum(times(?x,?x),?y,0)
> sum(times(2,?x), 1, ?y)
>
> get ?x bound to -1 ?
Is your question whether systems of equations get solved? I think the
answer is "no", although I suppose it's possible.
My question was just about the in/out signature of the sum predicate.
Prolog documentation usually includes this information in the
documentation of each builtin, like:
append(?List1, ?List2, ?List3)
where the "?"'s mean it can work in any direction, and
str_cat(+Str1, +Str2, ?Result)
which means Str1 and Str2 must already be bound and ?Result may be.
I was asking if Said was proposing
sum(+left, +right, ?product)
sum(+left, +right, -product) (can't be used to check sum(1,1,2))
sum(?left, ?right, ?product)
... or what.
-- sandro
This archive was generated by hypermail 2.1.4 : 06/04/03 EST