[modules] documentation pages on the swiki
danielv at netvision.net.il
danielv at netvision.net.il
Fri Sep 28 13:11:04 UTC 2001
A little note about how we're going about it -
In the spirit of modularizing the modularity effort, I'm not sure
there's a need to centrally cut everything up.
I propose this way of doing things -
* Get the Modules code in the image,
* connect things to a repository,
* publish a small step by step recipe to carving out a proper module.
and then see my recent Updates mail.
Given code and something clear to do with it, I think people will take
care of the rest quite naturally. I think it's better if he who will
maintain a module marks his own "territory".
Just a thought.
Daniel
Henrik Gedenryd <Henrik.Gedenryd at lucs.lu.se> wrote:
> I have now created a page on the swiki for building documentation about the
> modules system. Currently it lists the specification that exists, plus
> copies of mail discussions that may be helpful.
>
> http://minnow.cc.gatech.edu/squeak/2042
>
> (Unfortunately writing "modules" instead of 2042 doesn't work since the
> swiki gives the first match not the best match. And while I'm complaining,
> the swiki has been practically unusably slow, since midnight at least, my
> time.)
>
> In particular, there is a page with the proposal for an image architecture
> that I mentioned in my reply to Stephane.
>
> http://minnow.cc.gatech.edu/squeak/2057
>
> If people agree with this, it would become the basis for refactoring the
> image into a modular Italian dish. Ah, what the, I'll copy in the text here:
>
> A proposed image architecture
> General principles for reorganizing the existing image into separable
> modules.
>
>
> Goals for the module structure
> There is so much reorg. needed for "doing it right" that we need to decide
> on a few reasonable goals that are our most immediate needs and focus on how
> to solve those first.
>
> I propose these: An ability to have the equivalent of a majorShrink image.
> Also a PDA image with just a basic Morphic; this mostly involves separating
> eToy from Morphic--Balloon, 3D, etc. are easier. More, a completely headless
> image (very small, neither MVC nor Morphic). This is a secondary goal.
>
> With these goals in mind, I have started to analyze the code, and I wrote
> some tentative reorganization code. I realized that we need to decide on a
> modular architecture for reorganizing the system. That is, a few overall
> principles for how the modular system should be organized. Then people could
> adopt these, take on the image part of their choice, and start working on
> refactorings and submitting the code.
>
>
> An "onion skins" module architecture
> Wrt such principles, I saw a repeating pattern. Most "major" category
> functionality (Morphic, Network...) can be divided into these "minor"
> categories: Essential, Useful, Applications, Tests, and
> Demo/documentation/examples. This pattern works for Morphic, 3D, Network,
> FFI, Archives, Exceptions, Kernel/System, and more. It is like the "onion
> layered" OS architecture, where further in is more essential, and modules
> may use other modules in layers further in, but not further out. It also
> provides useful segments for building different images for various purposes.
>
>
> * Core - Essential parts that can1t be removed or split, like the core of
> Morphic.
> * Library - reusable utility parts that are much like Core but
> optional/removable, such as various, generally useful morph classes
> * Applications - larger, more standalone/2finished2 pieces. examples:
> Morphic PDA, B3D Alice/Wonderlands. Network: Scamper, Celeste, etc.
> * Tests - This is for SUnits
> * Demo - Demo and example code. nNote that example code often contains a
> lot of the degenerate cross-modular references. (This is also true for tests
> and applications.)
>
> Note that we'll need to rename "Kernel", it is so similar to Core to be
> confusing. Also "System" is a very weird major category--what system?
> Squeak? The OS? etc. My idea was to instead have Language and Technology
> (vs. "Media"--3D, speech, sound, etc.), where these needn't correspond
> directly to Kernel and System.
>
> Moreover, "Tools" is highly ambiguous too. Perhaps put these under a new
> "Development" header, to hold everything that could be purged from a
> finished application: browsers, debugging tools, compiler, etc.
More information about the Squeak-dev
mailing list
|