Exactly, because (as you might read in Laws of Form, a precursor to Design Principles Behind Smalltalk) you can use the difference in value to distinguish the specific use, and thus derive the specific intention from that. On 10/31/10 1:43 , Stéphane Ducasse wrote:
+1 especially when this is specific to a given system
I like the idea of using fooValue: instead of value:.
On 10/30/10 14:15 , Tudor Girba wrote:
We use this pattern in Mondrian scripts, Glamour scripts, and in Moose scripts for navigating models.
However, we are most of the times doing it with other Symbol selectors. For example: - in Mondrian, we use moValue: - in Glamour, we use glamourValue:
Using dedicated extensions enable us to control the kinds of semantics we want in the scripting. For example, the glamourValue: is different from moValue:.
Cheers, Doru
On 30 Oct 2010, at 22:56, Andres Valloud wrote:
Mariano,
On 10/30/10 13:14 , Mariano Martinez Peck wrote:
100% agree. It was just funny for me, how could I do that, just implementing Synbol>> value: Just something curious and funny. Not to really use it.
I agree with this, polymorphism is awesome. For instance, something I did with Assessments was to make objects polymorphic with classes. This device allows Assessments to run SUnit tests without needing to touch any of the test case classes (you can just create pseudo-classes that pretend to be the classes you need but can't have). And you get to implement #new on the instance side :).
Andres.
-- www.tudorgirba.com
"Be rather willing to give than demanding to get."
.
.