Hello,
To all:
This proposal aims to address pollution and collision problem of name
space, as well as refinement. But the approach is different.
Though the explanation is not so catchy :-), language designers may
want to check it out.
To Kurt:
I recommend you to clarify the advantages and disadvantages between
your proposal and the traditional ones (like refinement and classbox).
I have some points. Because class statement changes the scope of local
variables, the following code will not work:
anon_sym = Symbol.new()
class A
def *anon_sym(args...); body...; end
end
And, the syntax "a.*anon_sym" collides against the call to method *
x, y = 3, 2
p(x.*y) #=> 6
The letter is not essential problem, but the former is not negligible.
#4288 aims to provide chemistry with other languages and the discussion
focuses on "syntax game", so it is better to distinguish between them.
--
Yusuke Endoh <mame / tsg.ne.jp>