The Trunk: System-fbs.616.mcz

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

The Trunk: System-fbs.616.mcz

commits-2
Frank Shearar uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-fbs.616.mcz

==================== Summary ====================

Name: System-fbs.616
Author: fbs
Time: 20 November 2013, 11:02:22.375 pm
UUID: f49eb05c-e6f9-194d-b75b-1d5271afc47d
Ancestors: System-fbs.615

Kernel has a number of SharedPools, so SharedPool belongs (for better or worse) in Kernel, not System.

=============== Diff against System-fbs.615 ===============

Item was changed:
  SystemOrganization addCategory: #'System-Applications'!
  SystemOrganization addCategory: #'System-Change Notification'!
  SystemOrganization addCategory: #'System-Changes'!
  SystemOrganization addCategory: #'System-Digital Signatures'!
  SystemOrganization addCategory: #'System-Download'!
  SystemOrganization addCategory: #'System-Exceptions'!
  SystemOrganization addCategory: #'System-FilePackage'!
  SystemOrganization addCategory: #'System-FileRegistry'!
  SystemOrganization addCategory: #'System-Finalization'!
  SystemOrganization addCategory: #'System-Localization'!
  SystemOrganization addCategory: #'System-Object Events'!
  SystemOrganization addCategory: #'System-Object Storage'!
- SystemOrganization addCategory: #'System-Pools'!
  SystemOrganization addCategory: #'System-Preferences'!
  SystemOrganization addCategory: #'System-Serial Port'!
  SystemOrganization addCategory: #'System-Support'!
  SystemOrganization addCategory: #'System-Tools'!

Item was removed:
- Object subclass: #SharedPool
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'System-Pools'!
-
- !SharedPool commentStamp: '<historical>' prior: 0!
- A shared pool represents a set of bindings which are accessible to all classes which import the pool in its 'pool dictionaries'. SharedPool is NOT a dictionary but rather a name space. Bindings are represented by 'class variables' - as long as we have no better way to represent them at least.!

Item was removed:
- ----- Method: SharedPool class>>bindingOf: (in category 'name lookup') -----
- bindingOf: varName
- "Answer the binding of some variable resolved in the scope of the receiver"
- | aSymbol binding |
- aSymbol := varName asSymbol.
-
- "First look in classVar dictionary."
- binding := self classPool bindingOf: aSymbol.
- binding ifNotNil:[^binding].
-
- "Next look in shared pools."
- self sharedPools do:[:pool |
- | poolBinding |
- poolBinding := pool bindingOf: aSymbol.
- poolBinding ifNotNil:[^poolBinding].
- ].
-
- "subclassing and environment are not preserved"
- ^nil!

Item was removed:
- ----- Method: SharedPool class>>bindingsDo: (in category 'name lookup') -----
- bindingsDo: aBlock
- ^self classPool bindingsDo: aBlock!

Item was removed:
- ----- Method: SharedPool class>>classBindingOf: (in category 'name lookup') -----
- classBindingOf: varName
- "For initialization messages grant the regular scope"
- ^super bindingOf: varName!

Item was removed:
- ----- Method: SharedPool class>>includesKey: (in category 'name lookup') -----
- includesKey: aName
- "does this pool include aName"
- ^(self bindingOf: aName) notNil!

Item was removed:
- ----- Method: SharedPool class>>keysDo: (in category 'enumerating') -----
- keysDo: aBlock
- "A hopefully temporary fix for an issue arising from miss-spelled variable names in code being compiled. The correction code (see Class>possibleVariablesFor:continuedFrom: assumes that sharedPools are Dictionaries. The proper fix would involve making sure all pools are actually subclasses of SharedPool, which they are not currently."
- self bindingsDo:[:b|
- aBlock value: b key]!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: System-fbs.616.mcz

Eliot Miranda-2
+1.  It's for better. SharedPool is a language implementation thingie like Begavior and CompiledMethod and hence Kernel is its home.  IMO it has nothing to do with there bring insances of SharedPool in Kernel and everything to do with SharedPool being part of the language implementation.

Eliot (phone)

On Nov 20, 2013, at 10:56 PM, [hidden email] wrote:

> Frank Shearar uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-fbs.616.mcz
>
> ==================== Summary ====================
>
> Name: System-fbs.616
> Author: fbs
> Time: 20 November 2013, 11:02:22.375 pm
> UUID: f49eb05c-e6f9-194d-b75b-1d5271afc47d
> Ancestors: System-fbs.615
>
> Kernel has a number of SharedPools, so SharedPool belongs (for better or worse) in Kernel, not System.
>
> =============== Diff against System-fbs.615 ===============
>
> Item was changed:
>  SystemOrganization addCategory: #'System-Applications'!
>  SystemOrganization addCategory: #'System-Change Notification'!
>  SystemOrganization addCategory: #'System-Changes'!
>  SystemOrganization addCategory: #'System-Digital Signatures'!
>  SystemOrganization addCategory: #'System-Download'!
>  SystemOrganization addCategory: #'System-Exceptions'!
>  SystemOrganization addCategory: #'System-FilePackage'!
>  SystemOrganization addCategory: #'System-FileRegistry'!
>  SystemOrganization addCategory: #'System-Finalization'!
>  SystemOrganization addCategory: #'System-Localization'!
>  SystemOrganization addCategory: #'System-Object Events'!
>  SystemOrganization addCategory: #'System-Object Storage'!
> - SystemOrganization addCategory: #'System-Pools'!
>  SystemOrganization addCategory: #'System-Preferences'!
>  SystemOrganization addCategory: #'System-Serial Port'!
>  SystemOrganization addCategory: #'System-Support'!
>  SystemOrganization addCategory: #'System-Tools'!
>
> Item was removed:
> - Object subclass: #SharedPool
> -    instanceVariableNames: ''
> -    classVariableNames: ''
> -    poolDictionaries: ''
> -    category: 'System-Pools'!
> -
> - !SharedPool commentStamp: '<historical>' prior: 0!
> - A shared pool represents a set of bindings which are accessible to all classes which import the pool in its 'pool dictionaries'. SharedPool is NOT a dictionary but rather a name space. Bindings are represented by 'class variables' - as long as we have no better way to represent them at least.!
>
> Item was removed:
> - ----- Method: SharedPool class>>bindingOf: (in category 'name lookup') -----
> - bindingOf: varName
> -    "Answer the binding of some variable resolved in the scope of the receiver"
> -    | aSymbol binding |
> -    aSymbol := varName asSymbol.
> -
> -    "First look in classVar dictionary."
> -    binding := self classPool bindingOf: aSymbol.
> -    binding ifNotNil:[^binding].
> -
> -    "Next look in shared pools."
> -    self sharedPools do:[:pool |
> -        | poolBinding |
> -        poolBinding := pool bindingOf: aSymbol.
> -        poolBinding ifNotNil:[^poolBinding].
> -    ].
> -
> -    "subclassing and environment are not preserved"
> -    ^nil!
>
> Item was removed:
> - ----- Method: SharedPool class>>bindingsDo: (in category 'name lookup') -----
> - bindingsDo: aBlock
> -    ^self classPool bindingsDo: aBlock!
>
> Item was removed:
> - ----- Method: SharedPool class>>classBindingOf: (in category 'name lookup') -----
> - classBindingOf: varName
> -    "For initialization messages grant the regular scope"
> -    ^super bindingOf: varName!
>
> Item was removed:
> - ----- Method: SharedPool class>>includesKey: (in category 'name lookup') -----
> - includesKey: aName
> -    "does this pool include aName"
> -    ^(self bindingOf: aName) notNil!
>
> Item was removed:
> - ----- Method: SharedPool class>>keysDo: (in category 'enumerating') -----
> - keysDo: aBlock
> - "A hopefully temporary fix for an issue arising from miss-spelled variable names in code being compiled. The correction code (see Class>possibleVariablesFor:continuedFrom: assumes that sharedPools are Dictionaries. The proper fix would involve making sure all pools are actually subclasses of SharedPool, which they are not currently."
> -    self bindingsDo:[:b|
> -        aBlock value: b key]!
>
>

Reply | Threaded
Open this post in threaded view
|

SharedPool (was Re: [squeak-dev] The Trunk: System-fbs.616.mcz)

timrowledge

On 20-11-2013, at 11:08 PM, Eliot Miranda <[hidden email]> wrote:

> +1.  It's for better. SharedPool is a language implementation thingie like Begavior and CompiledMethod and hence Kernel is its home.  IMO it has nothing to do with there bring insances of SharedPool in Kernel and everything to do with SharedPool being part of the language implementation.

Which reminds me that when Andreas & I did the original implementation (in 2003!) we fully expected to see all the shared pools converted to SharedPools fairly quickly. Sadly I see the TextConstants is *still* a plain old Dictionary.

Sorting this out might be a nice little project for someone with a little of that mythical ‘spare time’ and a desire to dig into the bowels of the system a bit. There’s stuff that ought to be removed, like the existence of the
 - DefaultEditMenu which should be in TextEditor or similar as a class method
 - DefaultTextStyle which ought to be 'TextStyle default’
 - and probably others


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SHP: Solve Halting Problem



Reply | Threaded
Open this post in threaded view
|

Re: SharedPool (was Re: [squeak-dev] The Trunk: System-fbs.616.mcz)

Nicolas Cellier
Except that we lost initializer for TextConstants if there ever were any...
Pharo folks have already re-engineered it the thing, I think, so someone having spare time should study the Pharo branch too :)


2013/11/21 tim Rowledge <[hidden email]>

On 20-11-2013, at 11:08 PM, Eliot Miranda <[hidden email]> wrote:

> +1.  It's for better. SharedPool is a language implementation thingie like Begavior and CompiledMethod and hence Kernel is its home.  IMO it has nothing to do with there bring insances of SharedPool in Kernel and everything to do with SharedPool being part of the language implementation.

Which reminds me that when Andreas & I did the original implementation (in 2003!) we fully expected to see all the shared pools converted to SharedPools fairly quickly. Sadly I see the TextConstants is *still* a plain old Dictionary.

Sorting this out might be a nice little project for someone with a little of that mythical ‘spare time’ and a desire to dig into the bowels of the system a bit. There’s stuff that ought to be removed, like the existence of the
 - DefaultEditMenu which should be in TextEditor or similar as a class method
 - DefaultTextStyle which ought to be 'TextStyle default’
 - and probably others


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SHP: Solve Halting Problem






Reply | Threaded
Open this post in threaded view
|

Re: SharedPool (was Re: [squeak-dev] The Trunk: System-fbs.616.mcz)

timrowledge

On 21-11-2013, at 11:07 AM, Nicolas Cellier <[hidden email]> wrote:

> Except that we lost initializer for TextConstants if there ever were any...
> Pharo folks have already re-engineered it the thing, I think, so someone having spare time should study the Pharo branch too :)

Sounds like it ought to be a quick project then...


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: PRM: PRint Money



Reply | Threaded
Open this post in threaded view
|

Re: SharedPool (was Re: [squeak-dev] The Trunk: System-fbs.616.mcz)

Bob Arning-2
In reply to this post by Nicolas Cellier
If you want some of the old text constants initializations,

http://69.251.218.6:9116/global

and search for textconstants

May be a bit slow as this will find quite a few.

Cheers,
Bob

On 11/21/13 2:07 PM, Nicolas Cellier wrote:
Except that we lost initializer for TextConstants if there ever were any...
Pharo folks have already re-engineered it the thing, I think, so someone having spare time should study the Pharo branch too :)


2013/11/21 tim Rowledge <[hidden email]>

On 20-11-2013, at 11:08 PM, Eliot Miranda <[hidden email]> wrote:

> +1.  It's for better. SharedPool is a language implementation thingie like Begavior and CompiledMethod and hence Kernel is its home.  IMO it has nothing to do with there bring insances of SharedPool in Kernel and everything to do with SharedPool being part of the language implementation.

Which reminds me that when Andreas & I did the original implementation (in 2003!) we fully expected to see all the shared pools converted to SharedPools fairly quickly. Sadly I see the TextConstants is *still* a plain old Dictionary.

Sorting this out might be a nice little project for someone with a little of that mythical ‘spare time’ and a desire to dig into the bowels of the system a bit. There’s stuff that ought to be removed, like the existence of the
 - DefaultEditMenu which should be in TextEditor or similar as a class method
 - DefaultTextStyle which ought to be 'TextStyle default’
 - and probably others


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SHP: Solve Halting Problem







    



Reply | Threaded
Open this post in threaded view
|

Re: SharedPool (was Re: [squeak-dev] The Trunk: System-fbs.616.mcz)

Levente Uzonyi-2
In reply to this post by timrowledge
On Thu, 21 Nov 2013, tim Rowledge wrote:

>
> On 21-11-2013, at 11:07 AM, Nicolas Cellier <[hidden email]> wrote:
>
>> Except that we lost initializer for TextConstants if there ever were any...
>> Pharo folks have already re-engineered it the thing, I think, so someone having spare time should study the Pharo branch too :)
>
> Sounds like it ought to be a quick project then...

I like your optimism. :)


Levente

>
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Strange OpCodes: PRM: PRint Money
>
>
>
>