[Top] [All Lists]

Re: new sieve draft

1998-08-17 15:28:50
Gregory Sereda wrote:

At 02:25 PM 8/14/98 -0700, Randall Gellens wrote:

2.11: I think the short-circuit evaluations do not need to be a MUST.
This isn't a language with pointers and variables, so there is no
danger of something like "if ( p != NULL && *p == 'c' )".

This depends on how we handle extensions.  The MUST was correct for the
-03 draft when we had the "support" test.  You could write something
        if allof ( support "newtest", newtest "arg" )
However, I agree that with draft -04, we should downgrade MUST to SHOULD
until we figure out how extensions will be supported.

Does leaving it at MUST cause problems for implementers? I think it would be
more difficult to make it a MUST later if it doesn't start that way.

The difficult part of extensions will be how a parser will deal with
"new control structures, actions, and tests" that have unknown syntax.
Perhaps the C language concept of "#ifdef" would be useful to bracket
a section of code that contains an extension.

Most languages that allow extensions either do so within the syntax of the
language, or via a metalanguage defined outside of the syntax of the
An example of the former is doing operator overloading in C++ and Ada. No
language changes are needed to add new actions. However, the extensions are
Examples of the latter are the C preprocessor language and various C/SQL
preprocessors which all generate C as their output. That is, the extension
language gets first crack at the input, before passing it off to the
standard language.

    Tony Hansen

<Prev in Thread] Current Thread [Next in Thread>