[TFNR][REPORT]Where are we?!
goran.krampe at bluefish.se
goran.krampe at bluefish.se
Tue Nov 18 08:41:31 UTC 2003
ducasse <ducasse at iam.unibe.ch> wrote:
> >>>> So the natural follow up would be to go in the direction of
> >>>> - having a run-time package knowing its class and methods
> >>>
> >>> Eh, PIs do that, right?
> >>>
> >>
> >> No it queries the system organization this is different (ask avi if
> >> you chat with him).
> >
> > Well, let me play devil's advocate here a bit. PI defines a packaging
> > semantics where the package a particular class or method is in, is
> > defined by the system organization. So, under the PI definition of
> > "package", Göran is correct. Now, you may prefer a different
> > semantics for the package system (for example, so that you can have
> > classes from multiple packages within one system category), but that's
> > a separate issue.
>
> My point (and you know it but play the devil advocate if this is fun
> for you) is that the mid-term solution is to stop to rely on category
> conventions and have a real object as package entities.
>
> Goran about your static script: what is the difference between a static
> script and a bundle of package?
> For example
> SteApp1.2
> is composed of packages
> MW3.2
> TurtleEnvironment10.3
>
> ....
> So is a script a separate entity, is it a composite? why and what are
> the pros and cons?
> I'm a bit afraid to have yet another entity: package, SMpackage,
> Script...
Ok, let me give this a few seconds. We have "load sripts" *today*. They
are simply packages on SM consisting of a .st filein that uses SM to
install other packages. Like this:
SMSqueakMap default installPackageWithId: '123-123-123-123-213'
BUT... as you can see the above line does not specify the *version*
(release) of the package - because SM1.x only knows about the *latest*
version. This makes all load scripts to this day so called "dynamic" -
they produce different results depending on when they are installed.
In SM2 you can write:
SMSqueakMap default installPackageReleaseWithId: '123-123-123-123-213'
...and in other ways to. But this time a specific *release* is specified
so the script will load the exact same file every time. As long as the
maintainer doesn't *change* that file of course. I did think about
immutability but after input from other prominent Squeakers have decided
to instead rely on people *not abusing this*.
Ok, now back to your question - bundles. Using my intuition I guess that
a "bundle" is a file actually *containing* multiple packages instead of
"referencing them" like the load script above. Is that right? In that
case I *do NOT want them*. :)
Because it goes straight against my coming plan for dependencies.
Dependencies should IMHO be specified *outside* of the packages in the
form of independent objects I like to call *package configurations*.
regards, Göran
More information about the Squeak-dev
mailing list
|