<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
so my answer here is that the "longest match of identifiers" rule is extended to operators and brackets. Just as "aa" is space sensitive vs "a a" so "++" is space sensitive vs "+ +" and "[[" is space sensitive vs "[ [".     The current exceptions to this rule - there is always - are only for () and {} brackets, but they're pretty special.<br></blockquote><div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5">Hmm. Personally, I think longest match on parentheses is bad, since it does not match how we normally write parentheses/bracketing constructs. Moreover, I can't define my own brackety things, so the analogy with operators is only partial. </span><br></div><div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5">Btw, reminds me, I once had a language design where , (comma) was just an infix binary operator, and bracketing using [] was unary around-fix operator. The comma then would create a shallow line-up like object, the bracket converted it to a list/array; same with {} for sets. (You weren't allowed to use comma expressions in param lists directly, but with parentheses you'd just get the shallow line-up). The only problem is that you couldn't write empty lists or set using the bracket notation.</span></div><div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5">T</span></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
</blockquote></div></div>