[Meta] Standard packages?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
29 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: [Meta] Standard packages?

stephane ducasse
Me too.
Having good libraries that we can share would be really nice.

Stef

>> Yes, I agree that it would be difficult to determine. That's why I  
>> suggested
>> to get back to the basic ST-80 features (but with the bug fixes  
>> (etc) that
>> Squeak today encompasses.)
>
> But an image - any image - necessarily goes beyond "basic ST-80
> features".  An image tends to include a UI, but should this be MVC,
> Morphic, or Tweak?  With what fonts?  With what icons, color themes,
> etc?  An image tends to include dev tools, but should these be based
> on Browser or OmniBrowser?  An image has a metaclass hierarchy, but
> based around Behavior or Trait?
>
> The set of necessary things for an image does include some contentious
> areas.  However, I think Andreas is right that there are some areas
> that are (I believe) much less contentious, like the Collection and
> Number hierarchies, as well as (mostly) Stream, Exception, Socket,
> etc.  These aren't enough by themselves to make a full image, so we'll
> never agree on a "base image" to build everything else from.  But it
> does seem reasonable (both socially and technically) to jointly manage
> improvements to these standard packages, across the many forks and
> versions of Squeak.  I'd certainly love to see this happen.
>
> Avi
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Meta] Standard packages?

stephane ducasse
In reply to this post by Damien Cassou-3
>> On Mon, 23 Jul 2007 01:50:01 -0700, Damien Cassou
>> <[hidden email]> wrote:
>> > I tried to build a squeak-dev image on top of MinimalMorphic (=
>> > KernelImage + Morphic). The only problem I found was the absence of
>> > the Preferences tool.
>>
>> How big a problem is that?
>
> It depends:
>
> - if you don't need the Preferences, it might work. But I didn't tried
> because I'm not sure people are interested in a squeak-dev image
> without being able to set preferences. And setting the preferences
> right is part of the job of the squeak-dev image.
>
> - if you care about the Preferences, Pavel told me it was not easy to
> load as a package because there are a lot of things that need to be
> loaded too.

Because the code was not designed to be decomposed.
A registration mechanism may help there.

Stef


Reply | Threaded
Open this post in threaded view
|

Re: [Meta] Standard packages?

stephane ducasse
In reply to this post by Nicolas Cellier-3
>> This could be the trigger for a new Preferences system. The  
>> current one
>> isn't that good, IMHO.

yes

>>
>> Ciao,
>>
>> Giovanni
>>
>
> Yes, Preferences should be limited to providing some kind of  
> registration
> machinery and basic UI and IO services rather than holding the  
> state of all
> possible packages.
>
> Maybe this can even be done with some kind of <#annotation: >
> (name is less-controversial than pragma).
> This way, if Preferences is in the image, it interprets the  
> annotations;
> if not, then no harm with Undeclared or something...

Yes annotations can give a nice registration mechanism.

Now the key problem is should the code be loadable in 3.7....
I think that it should not. You cannot improve a system that should  
be backward compatible.
Look at mac. they discard regularly old support and add new ones.

Stef



Reply | Threaded
Open this post in threaded view
|

Re: [Meta] Standard packages?

stephane ducasse
In reply to this post by Damien Cassou-3
Like in VisualWorks. Damien have a look at the example on the Pragma  
class

stef

On 23 juil. 07, at 12:21, Damien Cassou wrote:

> 2007/7/23, nicolas cellier <[hidden email]>:
>> Yes, Preferences should be limited to providing some kind of  
>> registration
>> machinery and basic UI and IO services rather than holding the  
>> state of all
>> possible packages.
>>
>> Maybe this can even be done with some kind of <#annotation: >
>> (name is less-controversial than pragma).
>> This way, if Preferences is in the image, it interprets the  
>> annotations;
>> if not, then no harm with Undeclared or something...
>
> I'm not sure annotations are used for that kind of things:
>
> - the preference system would have to browse all methods of all
> classes to detect these annotations
> - in which method do you put the annotation?
> - in your code, how do you access the preference? and if the
> preference system is not present, how do you code this?
>
> --
> Damien Cassou
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Meta] Standard packages?

timrowledge
In reply to this post by Damien Cassou-3

On 23-Jul-07, at 23-Jul;3:21 AM, Damien Cassou wrote:

>
> - the preference system would have to browse all methods of all
> classes to detect these annotations
This turns out to be incorrect; you detect the notation during  
package loading. You have to load the package for the preference to  
be relevant, During the load you typically have to compile the method  
or otherwise scan it to make connections; at that point you clearly  
have an opportunity to deal with any pragmas, annotations, problems  
or chocolate.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Gargoyle (n.), olive-flavored mouthwash.



Reply | Threaded
Open this post in threaded view
|

Re: [Meta] Standard packages?

Igor Stasenko
In reply to this post by Brad Fuller-2
What if make things in such way, to allow different versions of same
package live in same image? And track dependencies between packages
using imports?

I discussed this idea on IRC channel with gulik (sorry cant recall his
name) about his namespaces project. I proposed to add 'imports' inst
var to packages.

Idea is simple:
- each package defined as a set of classes and methods.
- each reference to global name not declared it package itself, must
be declared in imported packages.

Only a few packages, like 'Kernel' don't require to import anything to
work. Others may require different set of packages to work.

All we need to change is a global lookup semantics: instead of looking
up the system dictionary, we should start looking for name from same
package , which contains the method.


On 23/07/07, Brad Fuller <[hidden email]> wrote:

> Instead of 'standard packages', what if there was an image consisting of the
> fundamental classes required -- the basic building blocks for all images.
> A "core" team could be responsible for this.  Perhaps it consists of the
> improved Squeak classes from the ST-80 image. Or fundamental classes, like
> the ones you listed, that most everyone agrees should be included. The
> fundamental classes wouldn't be packages, they'd just be the basic building
> block for other packages to be added.
>
> For some reason, I thought there was a team like this. Isn't there?
>
> Wouldn't it be technically feasible, no matter how hard it is? The question is
> what amount of work is acceptable for the community to pursue.
>
> brad
>
>
>
>


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

RE: [Meta] Standard packages?

J J-6
In reply to this post by Andreas.Raab
+1 (except I think traits are more like a protocol of what messages a class supports in tangible class form instead of only convention.  I expect the meta classes are still based on Behavior, no?)

> Date: Sun, 22 Jul 2007 23:42:09 -0700
> From: [hidden email]
> To: [hidden email]; [hidden email]
> Subject: Re: [Meta] Standard packages?
>
> On 7/22/07, Brad Fuller <[hidden email]> wrote:
>
> > Yes, I agree that it would be difficult to determine. That's why I suggested
> > to get back to the basic ST-80 features (but with the bug fixes (etc) that
> > Squeak today encompasses.)
>
> But an image - any image - necessarily goes beyond "basic ST-80
> features". An image tends to include a UI, but should this be MVC,
> Morphic, or Tweak? With what fonts? With what icons, color themes,
> etc? An image tends to include dev tools, but should these be based
> on Browser or OmniBrowser? An image has a metaclass hierarchy, but
> based around Behavior or Trait?
>
> The set of necessary things for an image does include some contentious
> areas. However, I think Andreas is right that there are some areas
> that are (I believe) much less contentious, like the Collection and
> Number hierarchies, as well as (mostly) Stream, Exception, Socket,
> etc. These aren't enough by themselves to make a full image, so we'll
> never agree on a "base image" to build everything else from. But it
> does seem reasonable (both socially and technically) to jointly manage
> improvements to these standard packages, across the many forks and
> versions of Squeak. I'd certainly love to see this happen.
>
> Avi
>


PC Magazine’s 2007 editors’ choice for best web mail—award-winning Windows Live Hotmail. Check it out!

Reply | Threaded
Open this post in threaded view
|

Re: [Meta] Standard packages?

Lex Spoon-3
In reply to this post by Andreas.Raab
Andreas Raab <[hidden email]> writes:
> Brad Fuller wrote:
> > Instead of 'standard packages', what if there was an image
> > consisting of the fundamental classes required -- the basic building
> > blocks for all images.
>
> This is basically what we have today and it doesn't work. There is too
> much power concentrated in the hands of whoever "owns" that image; it
> *will* get abused for personal / project interests.

Yes, but we do have a messy political process for keeping anything
really perverse from happening.  That process can even be changed, and
surely your recommendations for such changes would have a whole lot of
weight.

Within the existing political process, the thing to do pronto is to
get someone on the Squeak Foundation Board, if you do not already have
someone sufficiently sympathetic.  Additionally, it never hurts to
keep an eye on the current release manager and communicate your
concerns to them, e.g. on which bug fixes to prioritize.


Aside from that, it has been a long stated goal of many volunteers to
separate Squeak into packages, and part of the reason is so that we
can have a non-controversial core and a non-controversial set of
optional but standard packages.  A lot has happened as part of the
3.10 release, as Ralph described.  Thus, the interest is certainly
here, if the technical details work out.


On the technical side, sharing packages would mean Croquet has to play
nice as an extension to a standard core and standard set of packages.
Small deltas from the standard component swould be fine, but big ones
will be a headache.  It looks like a tough engineering call on your
part.  Is the work of making Croquet sit on top of standard Squeak,
low enough that there is a net payoff from automatically inheriting
fixes to the standard image?


Lex


Reply | Threaded
Open this post in threaded view
|

Re: [Meta] Standard packages?

Andreas.Raab
Lex Spoon wrote:
> Yes, but we do have a messy political process for keeping anything
> really perverse from happening.  That process can even be changed, and
> surely your recommendations for such changes would have a whole lot of
> weight.

I'm not interested in changing the way squeak.org operates; I'm only
interested in collaborating on particular packages (if there is mutual
interest).

> On the technical side, sharing packages would mean Croquet has to play
> nice as an extension to a standard core and standard set of packages.
> Small deltas from the standard component swould be fine, but big ones
> will be a headache.  It looks like a tough engineering call on your
> part.  Is the work of making Croquet sit on top of standard Squeak,
> low enough that there is a net payoff from automatically inheriting
> fixes to the standard image?

You are completely misinterpreting my intent. I am not planning to put
Croquet "on top of standard Squeak" (what exactly does that mean
anyway?) I have been looking for packages for which collaboration is
feasible, useful, and of mutual benefit.

Cheers,
   - Andreas

12