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>