[m-dev.] 0.13 release: op/3 syntax

Peter Schachte schachte at csse.unimelb.edu.au
Sat Mar 4 16:38:29 AEDT 2006


On Sat, Mar 04, 2006 at 01:07:01AM +1100, Mark Brown wrote:
> On 04-Mar-2006, Peter Schachte <schachte at csse.unimelb.edu.au> wrote:
> > > At least with the current scheme you won't find the compiler reporting
> > > strange new syntax errors in a previously working module just because
> > > you added an import_module directive.
> > 
> > That wouldn't happen.
> 
> I'm afraid it would.  If you've used a nullary function symbol and you
> import a module that defines a unary operator with that name, you will
> need to enclose it in parentheses.

Not if your reader is coded correctly.  That was a bug in the early
Prolog readers.  Richard O'Keefe fixed it yonks ago in his free reader
(on which many Prolog readers are based).  There's no reason a term
that reads correctly now should have syntax errors after defining a
new operator (of course, redefining an existing operator can do that,
but we're asuming that users get a warning when operators are
redefined).

-- 
Peter Schachte              Do not meddle in the affairs of wizards, for
schachte at cs.mu.OZ.AU        they are subtle and quick to anger.
www.cs.mu.oz.au/~schachte/      -- J. R. R. Tolkien 
Phone: +61 3 8344 1338      
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list