On Wed, Apr 25, 2018 at 10:40 -0700, you wrote:
s1 + s2 Set union (for sets of the same type,
s1 || s2 Set union
(What's the difference between the two? Or do you mean either one or
No difference. It just seems to me that we need something for intersection,
and using existing operators, the natural for that is "&&". Once we
that, might as well support "||" for union. But given symmetry with other
operators, "+" should work too.
Like Justin, I was also thinking "|" and
"&" might be more intuitive.
If we didn't have the keyword issue with &attributes, then I could see that.
But that strikes me as a significant drawback. (Also, if we do add these,
then a user might reasonably expect them to work bitwise for count's. We
could then consider implementing that too I guess.)
other languages mgiht also coerce set operands into
booleans in such a
context, so that, e.g., "s1 || s2" evaluates to true if either is
Hey I don't care about other seriously busted languages! ;-)
I see the problem with the parser but maybe adding
keywords is the way
s += e Add
the element 'e' to set 's'
(same as the current "add s[e]")
s -= e Remove the 'e' element from 's', if present
(same as the current "delete s[e]")
I'd skip these. I don't think we should add an additional set of
operators for things that Bro already supports
I actually feel the opposite, that "add" is clunky ("delete" a bit
and thus these are more natural. But in particular it seems we ought to
support these due to needing to support "v += e" (which is the one that
I most want!).
s1 += s2 Same
as "s1 = s1 + s2"
(Or s1 |= s2 if we pick "|" for union.)
Yeah, if we bite off the '&'-keyword ugliness. Ugh.
e Append the element 'e' to the vector 'v'
That's probably the most requested Bro operator ever! :)
Yee-up, per my note above!
s Append the elements of 's' to the vector 'v',
with the order not being defined
This one I'm unsure about. The point about the order being undefined
seems odd. If I don't care about order, wouldn't I stay with a set?
I do have a use case, but I agree it's odd; let me revisit it to see if
I really do need it. I might instead settle for "vector of set[xxx]".