Hi.

I'm looking for some fresh naming ideas... and other tips in general.

I have this thing called ArrayMixin, ArrayInterface, ArrayContract, which
are probably awful names.

Why is ArrayMixin called that way, given that all three listed above are
mixins? Maybe that is because it actually adds functionality, whereas
ArrayInterface and ArrayContract only pretend to. Does it make those two
less "mixin" than ArrayMixin ?

Should suffixes Interface, Contract be replaced by abbreviations?  Those
are bound to be commonly used suffixes, so...

here is a proposal:
	ArrayMixin -> HollowArray
	ArrayInterface -> MicroArrayI
	ArrayContract  -> MicroArrayC

here's how it sounds after this renaming:

MicroArrayI is a spec for minimal arrays. Including it in a class is like
saying "this class should support all of these operations". MicroArrayC is
a boosted version of MicroArrayI: it actually verifies how operations are
used and how they are performed. Now if you include HollowArray into a
MicroArray-supporting class, you get a full Array emulation.

I think there could also be a new ArrayI module that would reduce:

	Array===foo || HollowArray===foo

to:

	ArrayI===foo

because I'd do:

module ArrayI; end
module HollowArray; include ArrayI; end
class        Array; include ArrayI; end



Now back to the naming. "MicroArray" and "HollowArray" should show the
concept better, but I suspect some of you may have more, hum, enlightened
ideas for names. Idem for suffixes I,C.



Also I'd like to know whether anyone actually uses MetaRuby. I know there
has been well over a hundred downloads of the last tarball, but by itself
that doesn't mean anything.



Awaiting some feedback now.

matju