(OOPS, used wrong identity)
Arnt Gulbrandsen wrote:
Stephan Bosch writes:
Hello,
I am finishing up a first release of my Sieve implementation, and one
of the TODO items that yet remains is getting some answers to
questions that arose during development. I've collected these into a
file an now I submit them to this list to get some clarification. Any
help is greatly appreciated.
Sieve is a simple language... All commands in a script can be arranged
into basic blocks, and the basic blocks form a DAG. (I don't remember
whether this remains true with Ned's MIME/looping extension.)
I wonder whether it is possible to walk along the DAG and say "this
assignment is invalid since it leads to an error when the variable is
used".
In extreme cases, a user can extract data from the incoming message
using :matches or even :regex. Then, there is really no way of telling
what the variable is going to contain. But yes, in all other cases one
could do compile-time string constant evaluation and be done with it.
I am interested particularly in those extreme cases. Not that I see a
particular use for those in the mentioned cases, but I like to be thorough.
Regards,
Stephan.