On Fri, Jul 26, 2013 at 11:28:52AM -0500, Chris Muller wrote:
Damn formatting -- and why can't I use a Tab character in an e-mail?! Geesh!
Here's the hierarchy which will hopefully not be reformatted by Gmail:
Morphic (and everything else) ST80 Tools System Balloon Graphics Multilingual Kernel Collections Exceptions
And now the responsibility / capabilities descriptions:
Morphic -- UI framework ST80 -- Not sure about this one.
"ST80" is the MVC UI framework, in the same sense that "Morphic" is the Morphic UI framework. I'm sure that ST80 started out as a general category of all the stuff that originated in ST80, but as a practical matter, nowadays it refers to MVC. An MVC user interface is hosted in an MVCProject, just as a Morphic user interface is hosted in a MorphicProject.
Dave
Tools -- Domain models that describe and operate tool windows. System -- catch-all for System'y things. Balloon -- Graphics framework. Graphics -- Things related to graphical output. Multilingual -- Things related to internationalization. Kernel -- Lowest-level things besides collections and error-handling. Collections -- collections. Exceptions -- Error-handling things.
On Fri, Jul 26, 2013 at 11:25 AM, Chris Muller ma.chris.m@gmail.com wrote:
One thing that might help us sort methods and organize methods into packages is try to decide what we think the responsibilities of those packages are. Here is a suggested hierarchy where the most-indented are the lowest level packages and the most outdented are the highest level packages.
I might be helpful to be driven by where we think, *semantically*, the behaviors you're moving around belong rather than being driven by "any place but here because it creates a cycle".
It probably won't be possible to eliminate the cycles between the three lowest-level packages, but hopefully from the ones above that.
Morphic (and everything else) ST80 -- Not sure about this one, but seems like it should be "legacy" Smalltalk stuff rather than low-level stuff. Tools -- Domain models that describe and operate tool windows. System -- catch-all for System'y things. Does not include any tool-windows. Balloon -- Graphics framework. Graphics -- Things related to graphical output. Bit-blitting and canvas stuff. NOT Morphic stuff. Multilingual -- Things related to internationalization. Kernel -- Lowest-level things besides collections and error-handling. Collections -- collections. Exceptions -- Error-handling things.
Thoughts?