On Thursday, October 31, 2013 14:46:29 Timothee Cour wrote: > well it can be made to work with following rule: > > $ binds as follows, using the 1st pattern matched rule: > > very roughly: > > identifier [$] if typeof(a.length) => a[a.length] //likewise with s/[]/()/ > primary_expression . identifier if typeof(primary_expression.length) > => primary_expression . identifier [identifier.length] (recursively) > if no match is found, error. > > eg: > > [1,2,3].indexed([0,$-1] ) => indexed.length isn't valid, so it tries to > bind to [1,2,3]. > > intuitively I believe it makes sense.
Well, I can see why you'd think that that makes sense, but it would have surprised me greatly if I had seen code like that compile. And given how little benefit it really provides, I don't think that it's worth the extra complication to the language. So, I'd be against it, but feel free to open an enhancement request. Maybe a compiler dev will take a shine to the idea. - Jonathan M Davis