When I read Guy's response, I interpreted it as calling attention
to two peoples' differing notions of what "it worked" would mean
in this context. Not as a personal attack, but rather...
Guy: It doesn't "work" because you can trivially crash Ruby with
just changing an Array's class to a Hash. etc. etc. etc.
[Guy has understood this from the start and has been saying,
ergo, the criteria for "working" has not been satisfied.]
Sean: My hack functioned the way I expected it to, therefore,
even though it's not totally stable and I wouldn't want
it accepted by matz, "it worked".
This is why--to me--what Guy wrote does not register as a personal
attack. You both have different criteria for what constitutes
"it working".
Oddly, Sean, when you are saying, "it worked like I said it could",
I am hearing Guy saying, "yes - but it doesn't work like I said it
wouldn't."
Oh no, I didn't mean it was TOTALLY stable. I just meant it appeared stable
to me and I wanted some people who knew better about the Ruby internals to
make an assessment, which is why I brought it up in ruby-core. I didn't mean
to imply it was completely safe under all circumstances, just that with some
work, it COULD be. I know myself from looking at the internals, at how many
places where code assumed the type of self, that it was likely there were
lots of nooks and crannies that did the same thing and eventually someone
would find a way to crash Ruby with the feature. I meant, *I* found it to be
stable. I ran a few quick tests and couldn't find a way to crash Ruby with
it.
In fact, I still have the feature installed here. If someone could show me
some Ruby code that makes Ruby crash with the #class= method I implemented, I
would be more than happy to retract even that much. Show me code that
crashes my #class= implementation; I already assume it can be done, now just
show me how.
Sean O'Dell