ietf-mta-filters
[Top] [All Lists]

Re: I-D ACTION:draft-ietf-sieve-imapflags-00.txt

2005-02-09 12:16:03

On Wed, Feb 09, 2005 at 10:39:32AM -0800, 
ned(_dot_)freed(_at_)mrochek(_dot_)com wrote:
On Tue, Feb 08, 2005 at 04:28:06PM -0800, 
ned(_dot_)freed(_at_)mrochek(_dot_)com wrote:
Without setflag I would expect to see stuff of the form

    set "foo" "";
    addflag "foo" "bar";

Is the first line strictly necessary?  i.e. can you manipulate variables
via addflag et al if those variables haven't been instantiated?

You can but it is beside the point. The issue is that the variable may
have been previously initialized to have some other value.

Yeah, I would say that it would be poor practice to reference an
uninitialized variable.  The question about being able to reference an
unitialized variable was a tangential wondering.

As to whether you would always see those pairs of statements together:
probably not, at least for me.  In practice I would probably initialize
the variable in some preamble and then adjust it as necessary.
Certainly another "set" to "" could be used if needed.


Whether or not this savings warrants an entire action is a judgement call.
Having implemented it I can say that for me at least supporting setflag 
only
amounted to about 15 additional lines of code and one additional table 
entry.

I think having extra stuff in the language is more the point than how
hard it is to add that extra stuff.  I would also prefer not to have
verbs that aren't really needed.

Implementation difficulty is definitely a factor to consider IMO, as is 
whether
or not the verb will actually be used. Stuff that's hard to implement 
increases
the liklihood of bugs, as does having stuff that's rarely used (rarely used
code is often a place where bugs lurk).

OK, but "let's avoid it because it's hard to implement" is quite different
from "let's add it in because it's easy to implement."  My point is
let's consider whether we need it or not, and not just add it because
it's easy.  Syntax clutter is still clutter even if it's easy.

mm