Sorry, I still don't understand.

OK, I see 'div' and 'mod' are infix operators,
(BTW the document you referenced makes no mention of 'mod'), but...

Why does this prevent them being read as atoms in GNU-prolog?
(It works in other Prologs that also have them as infix operators)

Is it therefore a bad idea to save application data as Prolog terms, given that changes to the standard may have the effect that future Prolog systems are unable to read them?

    --Jasper

On 05/08/11 07:53, Daniel Diaz wrote:
hello Jasper,

gprolog 1.4.0 follows the "next" Prolog ISO standard (which is in fact a corrigenum) called DTC2

http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dtc2

in which div is an operator (flooring integer division). As an argument of an operator you have to write (div). E.g. instead of P = div you have to write P = (div). This is compatible with older versions of gprolog.

Daniel


Le 4 août 2011 à 18:50, Jasper Taylor a écrit :

| ?- P = div.
uncaught exception: error(syntax_error('user_input:1 (char:5) current or previous operator needs brackets'),read_term/3)

This is a problem because I cannot read terms written by pre-1.4 versions of GNU prolog (or other prologs) including these atoms. Also there does not seem to be any reason for it -- other 2-ary arithmetic operators like atan2 can be read directly so why not these?
   --Jasper


_______________________________________________
Bug-prolog mailing list
[email protected] <mailto:[email protected]>
https://lists.gnu.org/mailman/listinfo/bug-prolog

--
Ce message a ete verifie par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a ete trouve.



--
Ce message a été vérifié par MailScanner <http://www.mailscanner.info/> pour des virus ou des polluriels et rien de suspect n'a été trouvé.

_______________________________________________
Bug-prolog mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-prolog

Reply via email to