Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
On 21 Jan 2014, at 04:53, Stéphane Ducasse wrote: > Since nobody looks at it: here are the issue (they contain class comments). > > https://pharo.fogbugz.com/default.asp?12572 is a print case of the following, so will not be checked until the child case is integrated. > > https://pharo.fogbugz.com/default.asp?12486 Resolved (Fixed upstream) aka integrated in Spec So it’s just waiting to be integrated in Pharo. > > Apparently all the work I did around Spec is not reviewed. So this is basically false, and not motivating as a statement. > May be I should push them without waiting from any feedback. … Ben
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
Since nobody looks at it: here are the issue (they contain class comments). https://pharo.fogbugz.com/default.asp?12572 https://pharo.fogbugz.com/default.asp?12486 Apparently all the work I did around Spec is not reviewed. May be I should push them without waiting from any feedback. Stef
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
Hi nicolas. I do not remember but it seems that I did a slice to move NewValueHolder out of Spec inside their own package. Then we should rename and remove the old one but it takes time and if somebody does it will go faster. Stef > NewValueHolder? the name sounds like a Squeak strategy: keep backward > compatibility as long as possible. > > Since Pharo values cleanlyDesigned > backwardCompatible, I would expect > ValueHolder->LegacyValueHolder and NewValueHolder->ValueHolder. > > We had too many NewParagraph, etc... in the past, history does not > necessarily have to repeat itself ;) > > > 2014/1/20 Stéphane Ducasse > I commented the code in a slice that apparently was not integrated. > But yes this is a good idea. > - to have more code review > - to revive the COTDC > > > > I had some questions about NewValueHolder and I figured, why not revive > > COTDC?! > > > > The current comment is: "A NewValueHolder is a new implementation of > > ValueHolder based on Announcements". Of course, ValueHolder doesn't have a > > class comment. Wikipedia claims a value holder is "a generic object that > > handles the lazy loading behavior, and appears in place of the object's data > > fields" [1]. So: > > - what is a NewValueHolder? > > - is the "Value Holder" part of the name accurate in light of [1]. Obviously > > repurposing a term people may already be familiar with is a bad idea. In > > fact the important part here seems not the holding of the value, but the > > notification of changes. It seems more like an event in FRP. How about > > ReactiveVariable or AnnouncingVariable, since it combines the storage of a > > variable with announcing of changes? I like Reactive a bit better because > > those familiar with FRP will get the idea that it's notifying dependents, > > Announcing maybe begs the question "announcing what?" > > - should it replace ValueHolder, which is used only by > > ExclusiveWeakMessageSend and WidgetExamples > > > > [1] http://en.wikipedia.org/wiki/Lazy_loading > > > > p.s. [OT] valueChanged: oldValue to: newValue seems fishy. It is only used > > in one place in the image in this weird way "pickedItemsHolder valueChanged: > > true to: item" > > > > > > > > - > > Cheers, > > Sean > > -- > > View this message in context: > > http://forum.world.st/COTDC-108-NewValueHolder-tp4738066.html > > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. > > > > >
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
I made an issue summarizing this thread. I'll take care of it when comments die down here… https://pharo.fogbugz.com/default.asp?12684 - Cheers, Sean -- View this message in context: http://forum.world.st/COTDC-108-NewValueHolder-tp4738066p4738150.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
On 20 Jan 2014, at 19:31, Sean P. DeNigris wrote: > Benjamin Van Ryseghem-2 wrote >> In addition, infinite loops of propagation are prevented. > > Is that what lock is all about? I was wondering... Yes :) Ben
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
Benjamin Van Ryseghem-2 wrote > In addition, infinite loops of propagation are prevented. Is that what lock is all about? I was wondering... - Cheers, Sean -- View this message in context: http://forum.world.st/COTDC-108-NewValueHolder-tp4738066p4738129.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
On 20 Jan 2014, at 19:24, Nicolai Hess wrote: > we should distinguish between "storing a object" and "change a value". > At the moment, NewValueHolder announces every time we store into this value > holder regardless wether the value changed. That’s true. It was not clear enough :) Thanks, Ben
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
2014/1/20 Benjamin > On 20 Jan 2014, at 15:36, Sean P. DeNigris wrote: > > > I had some questions about NewValueHolder and I figured, why not revive > > COTDC?! > > I loved it :) > > > > > The current comment is: "A NewValueHolder is a new implementation of > > ValueHolder based on Announcements". Of course, ValueHolder doesn't have > a > > class comment. Wikipedia claims a value holder is "a generic object that > > handles the lazy loading behavior, and appears in place of the object's > data > > fields" [1]. So: > > - what is a NewValueHolder? > > I am a class holding any object inside its unique instance variable. > Each time the instance variable value changes, an announcement is emitted. > > we should distinguish between "storing a object" and "change a value". At the moment, NewValueHolder announces every time we store into this value holder regardless wether the value changed.
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
It is the history of a prototype ending in the system :) Ben On 20 Jan 2014, at 18:02, Nicolas Cellier wrote: > NewValueHolder? the name sounds like a Squeak strategy: keep backward > compatibility as long as possible. > > Since Pharo values cleanlyDesigned > backwardCompatible, I would expect > ValueHolder->LegacyValueHolder and NewValueHolder->ValueHolder. > > We had too many NewParagraph, etc... in the past, history does not > necessarily have to repeat itself ;) > > > 2014/1/20 Stéphane Ducasse > I commented the code in a slice that apparently was not integrated. > But yes this is a good idea. > - to have more code review > - to revive the COTDC > > > > I had some questions about NewValueHolder and I figured, why not revive > > COTDC?! > > > > The current comment is: "A NewValueHolder is a new implementation of > > ValueHolder based on Announcements". Of course, ValueHolder doesn't have a > > class comment. Wikipedia claims a value holder is "a generic object that > > handles the lazy loading behavior, and appears in place of the object's data > > fields" [1]. So: > > - what is a NewValueHolder? > > - is the "Value Holder" part of the name accurate in light of [1]. Obviously > > repurposing a term people may already be familiar with is a bad idea. In > > fact the important part here seems not the holding of the value, but the > > notification of changes. It seems more like an event in FRP. How about > > ReactiveVariable or AnnouncingVariable, since it combines the storage of a > > variable with announcing of changes? I like Reactive a bit better because > > those familiar with FRP will get the idea that it's notifying dependents, > > Announcing maybe begs the question "announcing what?" > > - should it replace ValueHolder, which is used only by > > ExclusiveWeakMessageSend and WidgetExamples > > > > [1] http://en.wikipedia.org/wiki/Lazy_loading > > > > p.s. [OT] valueChanged: oldValue to: newValue seems fishy. It is only used > > in one place in the image in this weird way "pickedItemsHolder valueChanged: > > true to: item" > > > > > > > > - > > Cheers, > > Sean > > -- > > View this message in context: > > http://forum.world.st/COTDC-108-NewValueHolder-tp4738066.html > > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. > > > > >
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
NewValueHolder? the name sounds like a Squeak strategy: keep backward compatibility as long as possible. Since Pharo values cleanlyDesigned > backwardCompatible, I would expect ValueHolder->LegacyValueHolder and NewValueHolder->ValueHolder. We had too many NewParagraph, etc... in the past, history does not necessarily have to repeat itself ;) 2014/1/20 Stéphane Ducasse > I commented the code in a slice that apparently was not integrated. > But yes this is a good idea. > - to have more code review > - to revive the COTDC > > > > I had some questions about NewValueHolder and I figured, why not revive > > COTDC?! > > > > The current comment is: "A NewValueHolder is a new implementation of > > ValueHolder based on Announcements". Of course, ValueHolder doesn't have > a > > class comment. Wikipedia claims a value holder is "a generic object that > > handles the lazy loading behavior, and appears in place of the object's > data > > fields" [1]. So: > > - what is a NewValueHolder? > > - is the "Value Holder" part of the name accurate in light of [1]. > Obviously > > repurposing a term people may already be familiar with is a bad idea. In > > fact the important part here seems not the holding of the value, but the > > notification of changes. It seems more like an event in FRP. How about > > ReactiveVariable or AnnouncingVariable, since it combines the storage of > a > > variable with announcing of changes? I like Reactive a bit better because > > those familiar with FRP will get the idea that it's notifying dependents, > > Announcing maybe begs the question "announcing what?" > > - should it replace ValueHolder, which is used only by > > ExclusiveWeakMessageSend and WidgetExamples > > > > [1] http://en.wikipedia.org/wiki/Lazy_loading > > > > p.s. [OT] valueChanged: oldValue to: newValue seems fishy. It is only > used > > in one place in the image in this weird way "pickedItemsHolder > valueChanged: > > true to: item" > > > > > > > > - > > Cheers, > > Sean > > -- > > View this message in context: > http://forum.world.st/COTDC-108-NewValueHolder-tp4738066.html > > Sent from the Pharo Smalltalk Developers mailing list archive at > Nabble.com. > > > > >
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
I commented the code in a slice that apparently was not integrated. But yes this is a good idea. - to have more code review - to revive the COTDC > I had some questions about NewValueHolder and I figured, why not revive > COTDC?! > > The current comment is: "A NewValueHolder is a new implementation of > ValueHolder based on Announcements". Of course, ValueHolder doesn't have a > class comment. Wikipedia claims a value holder is "a generic object that > handles the lazy loading behavior, and appears in place of the object's data > fields" [1]. So: > - what is a NewValueHolder? > - is the "Value Holder" part of the name accurate in light of [1]. Obviously > repurposing a term people may already be familiar with is a bad idea. In > fact the important part here seems not the holding of the value, but the > notification of changes. It seems more like an event in FRP. How about > ReactiveVariable or AnnouncingVariable, since it combines the storage of a > variable with announcing of changes? I like Reactive a bit better because > those familiar with FRP will get the idea that it's notifying dependents, > Announcing maybe begs the question "announcing what?" > - should it replace ValueHolder, which is used only by > ExclusiveWeakMessageSend and WidgetExamples > > [1] http://en.wikipedia.org/wiki/Lazy_loading > > p.s. [OT] valueChanged: oldValue to: newValue seems fishy. It is only used > in one place in the image in this weird way "pickedItemsHolder valueChanged: > true to: item" > > > > - > Cheers, > Sean > -- > View this message in context: > http://forum.world.st/COTDC-108-NewValueHolder-tp4738066.html > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. >
Re: [Pharo-dev] [COTDC] 108 - NewValueHolder
On 20 Jan 2014, at 15:36, Sean P. DeNigris wrote: > I had some questions about NewValueHolder and I figured, why not revive > COTDC?! I loved it :) > > The current comment is: "A NewValueHolder is a new implementation of > ValueHolder based on Announcements". Of course, ValueHolder doesn't have a > class comment. Wikipedia claims a value holder is "a generic object that > handles the lazy loading behavior, and appears in place of the object's data > fields" [1]. So: > - what is a NewValueHolder? I am a class holding any object inside its unique instance variable. Each time the instance variable value changes, an announcement is emitted. The instance variable is accessed through `value` and `value:` while the registration is done by `whenChangedDo: aBlock`. In addition, infinite loops of propagation are prevented. Use case: you have two lists A, and B, and you want to keep their selection synchronised. So when A selection changes, you set B selection. But since B selection changes, you set A selection, and so on… This case is prevented by the use of value holders. > - is the "Value Holder" part of the name accurate in light of [1]. Nope :( > Obviously > repurposing a term people may already be familiar with is a bad idea. It’s called NewValueHolder because it’s a re-implementation of ValueHolder :) I did not checked the name :P > In > fact the important part here seems not the holding of the value, but the > notification of changes. Indeed > It seems more like an event in FRP. How about > ReactiveVariable or AnnouncingVariable, since it combines the storage of a > variable with announcing of changes? I like Reactive a bit better because > those familiar with FRP will get the idea that it's notifying dependents, > Announcing maybe begs the question "announcing what?” I like Reactive too. It sounds like we are doing cool things :P > - should it replace ValueHolder, which is used only by > ExclusiveWeakMessageSend and WidgetExamples Might be yes, I did not checked the users of ValueHolder in a while. > p.s. [OT] valueChanged: oldValue to: newValue seems fishy. It is only used > in one place in the image in this weird way "pickedItemsHolder valueChanged: > true to: item” Probably a bad hack I did :P Ben
[Pharo-dev] [COTDC] 108 - NewValueHolder
I had some questions about NewValueHolder and I figured, why not revive COTDC?! The current comment is: "A NewValueHolder is a new implementation of ValueHolder based on Announcements". Of course, ValueHolder doesn't have a class comment. Wikipedia claims a value holder is "a generic object that handles the lazy loading behavior, and appears in place of the object's data fields" [1]. So: - what is a NewValueHolder? - is the "Value Holder" part of the name accurate in light of [1]. Obviously repurposing a term people may already be familiar with is a bad idea. In fact the important part here seems not the holding of the value, but the notification of changes. It seems more like an event in FRP. How about ReactiveVariable or AnnouncingVariable, since it combines the storage of a variable with announcing of changes? I like Reactive a bit better because those familiar with FRP will get the idea that it's notifying dependents, Announcing maybe begs the question "announcing what?" - should it replace ValueHolder, which is used only by ExclusiveWeakMessageSend and WidgetExamples [1] http://en.wikipedia.org/wiki/Lazy_loading p.s. [OT] valueChanged: oldValue to: newValue seems fishy. It is only used in one place in the image in this weird way "pickedItemsHolder valueChanged: true to: item" - Cheers, Sean -- View this message in context: http://forum.world.st/COTDC-108-NewValueHolder-tp4738066.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.