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

Comment on draft-showalter-sieve-02.txt

1997-10-29 07:49:28
I have a comment on draft-showalter-sieve-02.txt chapter 3.2. Require,
Page 15:

Is there a good reason why the the "require" declaration exists?
Can someone provide a good argument or two?
I have some arguments for removing it.

1. Terminating a script because it may or may not use an extension later
on seem to be a rather exotic need. Too exotic for requiring (!) a
separate declaration?

2. The "require" declaration can become an unecessary source of
confusion when debugging a faulty script. The relation, or perhaps the
connection, between the "require" declaration and the extension call is
not that obvious.

3. For a programmer (like me :-), a better approach to address problems
like extensions is by introducing a basic exception handling. I know,
it's not a programming language in that sense. But I cannot restrain
myself from giving you an example of exception handling, using the
excellent programming language called Python:

if header ("subject") contains-nocase ("the secret message")
  try:
    dwim blurdybloop body
  except ActionNotFound:
    keep # leave it alone

Note that Python is indentation sensitive, an alternative to "{}". Some
may regard it cleaner, other's may not. Anyway, the try-except
(try-catch in C++) mechanism is a powerful tool for providing clean
programming in modern programming languages.

4. The "support" conditional test seem adequate in most cases. May be
that is sufficient for our needs.

regards,

Tomas Fasth

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