Mathieu Bouchard <matju / sympatico.ca> writes: > If you are looking for more concrete examples, well, there is RubyX11. > > In RubyX11 I have this notion that a type is basically representable as a > set membership function (this is a more general notion of type than what > people usually think of). So I have extracted Module#=== and turned it > into a separate interface called X11::Type (which I have extended with X11 > marshalling specificities). Many type-representing objects are not classes > (nor modules), and so they don't fit with Ruby's assumption that all > constants worthy of knowing their own name are modules. I'm still struggling to understand how this would be useful. You have objects whose semantics depend on the name of a constant symbol that they're assigned to. Is it possible to show a couple of lines of code that illustrate this. I'm intrigued. Dave