A while back I talked about component syntax, which I described as `a:b.c()` and `a:[b].c()`.
And what does this syntax mean?
As far as I understand the colon is a capturing instruction to push the table that was accessed on the stack and keep it in first position until a method call comes along. If no method call happens in the chain of table accessing, that would be a syntax error during compile time.
Thus:
a:b.c()
becomes
local v = a.b
v:c()
I think it would work and I think it could be used to great use, but every time I see myself explaining how the colon syntax works I start scratching my head if it isn't just too complicated already...