2009/9/4 Peter Hugosson-Miller <oldmanlink@gmail.com>
Michael,
Assuming you're referring to me. There're lots of Michaels around.
This is one of those cases that really makes me miss ENVY, and its Class extentions. Under that system you would avoid the problem completely, by extending the Collection class in the Stream package and adding the methods that depend on Streams in that package.
I guess everyone knows what ENVY Class extensions are, but just in case someone doesn't, they are basically collections of methods to be added to a Class already in the image (i.e. not subclasses), when the extension is loaded.
Unless there's more magic here than I understand, Monticello also does this. My package system can't do that. I can't work out a way to modify existing classes that won't cause complete chaos. SecureSqueak is designed to run completely untrusted code loaded from the Internet; allowing loaded code to override methods in other packages allows for too much bad stuff to happen. If you can think of a way to do that securely, I'm all ears. Gulik. -- http://gulik.pbwiki.com/