I trying to make a clean-room prototype of new Package system (yeah yeah..:)
The idea is following: the package(s) is in control! I.e. each change
to package contents should pass validity checks before getting
applied.
This would allow us to enforce some policy, which could help to
maintain a code in system in good shape.
For instance, the most wanted feature, as to me, is to ask package if it:
- allows extending other packages by extension methods
- allows extensions to be added to package own classes
the problem with current kernel, that it never asks anyone if it
allowed to do something or not..
instead, the code applies change, and only then using
SystemChangeNotifier to broadcast the event of change
to any interesting parties..
Such approach hinders any attempts to build a secure system, because
once change is made, it could be too
late to revert it and its very easy to bypass any system facilities
which normally could prevent the user from doing wrong things
(like removing Delay class or one of its critical methods ;).
And there is a SystemEditor, which unfortunately, not ready for use
with Traits :(
but afaik, it don't providing any means to validate the changes before
applying. Or does?
Maybe its worth to create another notification which can notify the
interesting parties before the change will be applied?
What you think?
--
Best regards,
Igor Stasenko AKA sig.
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project