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