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]! |
+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]! > > |
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 |
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 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 |
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:
|
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 > > > > |
Free forum by Nabble | Edit this page |