Subject: Re: Sieve extensions

From: "Stan Bailes" <[email-masked]>
Date: Mon, 26 Jan 1998 09:33:57 -0800

Tim Showalter <[email-masked]> writes:

>(My basic problem is that I never want runtime errors.  A script should be
>verified at time of submission, and if it's unusable, it should be
>refused, and never run.

I agree with this.  My preferred implementation, where ACAP is used
for the UA <-> FA communication, makes this easy.  Others have suggested
less tightly coupled implementations (including SMTP, and disconnected-mode
ACAP), which make this a little harder.  (But still possible)

>Require is taken out of the most recent draft to
>stop runtime errors like
> if (...) { require "fubar"; } else { ... }
>But if it were metainformation, and so valid for the whole script, I'd be
>in favor of it.)

I guess I was assuming that 'require' statements had to be up at the
top and that your example above would be invalid/illegal.  I agree, I
wouldn't
want to see a script die in the middle because of a failed 'require'.

It seems to me that it should be possible for the FA to perform a simple
static analysis of the script when it's submitted.  No 'require' needed.
If the script uses any extensions which the FA doesn't support, it gets
rejected.

Stan

---

From: Ned Freed <[email-masked]>
Date: Mon, 26 Jan 1998 09:57:52 -0800 (PST)

> wouldn't want to see a script die in the middle because of a failed 'require'.

While I'd rather see require-type stuff be metainformation, I could live
with it being at the beginning of the script.

> If the script uses any extensions which the FA doesn't support, it gets

I agree -- this seems to be to be the right way to do it.

The trick, of course, is to insure that script submission results in this
sort of analysis being done.

				Ned

---

From: Tim Showalter <[email-masked]>
Date: 26 Jan 1998 14:28:41 -0500

> Date: Mon, 26 Jan 1998 09:57:52 -0800 (PST)
> From: Ned Freed <[email-masked]>
> Cc: [email-masked]
> 

I'd really like to have it be metainformation, if it's going to be there.

> I agree -- this seems to be to be the right way to do it.

This is basically just a syntax check and it's rather difficult to tell the
difference between the typ 'vaction' and the unsupported extension
'vacation', so require might be nice.

> sort of analysis being done.

Yeah, this is very true.

-- 
                                          Tim Showalter [email-masked]