I think syntax is never something everyone will agree with. Personally
I think AND and OR statements are too 'programmy', set notation is too
'mathsy'. A lot of TiddlyWiki users can't do javascript but are
familiar with the wiki syntax which this syntax closely resembles.
You *definitely* without a doubt get a lot more power with how you
have developed MatchTags but in the example you give above as I look
at that for the first time I would say that is extremely complicated
to get your head round with what your filter actually does.
Being forced to write the filter in a less expressive syntax I would
argue encourages a better end result, where if you came back to it a
year later you wouldn't think what on earth was I doing here which you
might be with your above example!! :).
In your above algebraic formula, I am pretty sure that could be
simplified (although right now I dont have the energy to do so and
could maybe be expressed the same in a longer more readable filter
(well in my opinion anyway):
eg. something like this...
[tag[foo]tag[!mumble]tag[!gronk]]
[tag[foo]tag[!snork]]
[tag[bar]tag[!mumble]tag[!gronk]]
[tag[bar]tag[!snork]]
[sort[-priority]]
If the filter cannot be expressed in such a way it might suggest you
need to arrange your data better - eg. invent a new tag for example.
Also in your syntax how would you allow it to work for fields without
it becoming really incomprehensible?
eg. if you wanted everything tagged with foo or bar with the field
mumble set to gronk what would this look like?
I think this a really interesting and valuable conversation to have so
lets keep it going..
Jon