I proposed this some one or two years ago. I got shut down, but I still find it a good idea. And I even have a semantic reason: - A Block represents a piece of functionality that can be evaluated with some input - A Symbol often represents a selector which in turns represents a piece of functionality that can be evaluated with some input.
From this point of view, they have similar responsibilities and we should be able to treat them the same.
Cheers, Doru On 30 Aug 2011, at 14:12, niko.schwarz@googlemail.com wrote:
Hi,
Symbol responds to #value:, but not to #value:value:.
At some point, Symbol and Block were decided to have the invocation protocol in common. I find this great. Therefore, I think, Symbol should also respond to #value:value:, as follows:
value: anObject value: anotherObject ^ anObject perform: self with: anotherObject
Of course, it should also respond to #value:value:value: and #value:value:value:value:
Niko
-- http://scg.unibe.ch/staff/Schwarz twitter.com/nes1983 Tel: +41786126354
-- www.tudorgirba.com "Speaking louder won't make the point worthier."