Subject: Re: "extensible" grammar

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

Tim Showalter <[email-masked]> writes:

>I'll point out that it is possible to implement "if" without actually doing
>it with commands so that it makes actual sense in the parser, even if the
>spec specifies that all commands are control structures, and that all
>commands are created equal.  I certainly intend to do it this way.

I suggest that 'if' *not* be implemented with commands, and that we
explicitly disallow extensions which add control structures.  In my
view, the main point of extensions is to add new tests (database lookups,
body parsing) and new actions (vacation, workflow, attachment
manipulations, etc.).  I don't think we ever want extensions which do
"while", "for", and the like.  "Sieve" should *never* be Turing-complete;
I don't want to have to solve the halting problem in order to decide
whether to accept a script ;-)

Stan

---

From: Rob Earhart <[email-masked]>
Date: Mon, 26 Jan 1998 16:12:26 -0500 (EST)

"Stan Bailes" <[email-masked]> writes:
> I suggest that 'if' *not* be implemented with commands

  Given the ability for extensions to add control structures, 
I think it should be implementable with commands, even if a particular
implementation does it at a lower level (if you know about "if",
you're certainly able to write it directly in the parser).

> and that we explicitly disallow extensions which add control
> structures.

  I honestly wouldn't mind this option at all, but I think it's been
argued before that we want extensions to be able to add control
structures...

  )Rob