bug-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 'mod' and 'div' need brackets ro read as atoms


From: Jasper Taylor
Subject: Re: 'mod' and 'div' need brackets ro read as atoms
Date: Fri, 05 Aug 2011 08:25:35 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110617 Thunderbird/3.1.11

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


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
address@hidden
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 pour des virus ou des polluriels et rien de suspect n'a été trouvé.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]