1.5 months ago we haggled over adding these and came close to converging, and then I dropped the ball on trying to ice the deal :-(. (Well, I also needed some time to lick my wounds, since I didn't get my way much on syntax preferences! :-P)
Here's where I believe we wound up: (1) Add bitwise operators on "count" variables for &, | and ~. (2) Deprecate element-wise arithmetic operations on vectors, such as "v * 3" meaning "multiply each element of v by 3". Perhaps down the road we'll introduce syntax that flags things like "for this expression, vectorize it". (3) Implement "v += e" to mean "append the element e to the vector v". (4) Wait on whether "v + e" should mean "return a vector that is v with the element e appended". (And indeed we can't do this right now if we're #2.) (5) Keep "add" and "delete" for manipulating sets in terms of individual elements. (6) Add "s1 & s2", "s1 | s2", and "s1 - s2" as intersection, union, and set difference. I'm not clear whether we reached agreement on: (7?) Add "s1 &= s2" etc. to mean "s1 = s1 & s2". The advantage of having this as an operator is it might more easily enable efficient implementation of some set operations for big sets. I suppose if we have it then we'd be expected to also have: (7') "c1 &= c2" etc., i.e., bitwise assignments for "count" variables. Please chime in if you remember where we wound up differently, and also whether you disagree with #7. Again, my apologies for the lengthy lull in attending to this thread. Vern _______________________________________________ bro-dev mailing list bro-dev@bro.org http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev