A remark on the proposed syntax:
onChange == [name1, name2, name3]
defines a set of slots by explicit enumeration, whereas
onchange == [ ! name1, !name2, *]
defines a set my subtracting the enumerated slots from the full set.
I think that using
onChange == [ ! name1, *, name2 ]
doesn't make sense, since "name2" is already in '*'. This means
that
only negated slot names make sense in combination with '*'. This,
in turn, means that '*' in addition to a list of negated slots is
redundant.
Therefore, only a list of all positive *or *all negated slot names makes
sense. Thus, all possible sets can be defined by permitting nothing
but one of these forms:
onChange == [<name>,...]
onChange == [*]
onChange != [<name>,...] // subtract all enumerated from full set
One can also permit these two identical forms:
onChange == []
onChange != [*]
and
onChange != []
which is the same as
onChange == [*]
Best
-W
On 31 July 2010 20:53, Mark Proctor <mproctor(a)codehaus.org> wrote: