[ANSI-Smalltalk] A list of interesting methods,
not present in the ANSI standard
Steve Wart
steve.wart at gmail.com
Fri Mar 21 09:48:04 GMT 2008
Hi,
I am not sure I see any benefit to changing such a widely used selector as
#perform: into #performMessage: -- encoding assumptions about the type of
the argument into the selector name seems like a bad idea to me.
However I like the idea of having a separate step to cover MOP concerns such
as this and #instVarAt: etc. It might be nice to have an optional way to
explicitly control dependencies to help designers ensure that these language
features are used in an appropriate way.
Steve
On Thu, Mar 20, 2008 at 3:41 AM, Andres Valloud <andres.valloud at gmail.com>
wrote:
> Paolo,
>
> Regarding perform:, I just feel that it's not symmetric with
> doesNotUnderstand: in that the former takes selectors and the latter
> receives messages. Perhaps we should have performMessage:?
>
> Also, mustBeBoolean is missing... (the message sent by at least some VMs
> when they try to "send" ifTrue:ifFalse: and the receiver is not a boolean).
>
> Andres.
>
>
> On Mon, Mar 17, 2008 at 1:03 AM, Paolo Bonzini <bonzini at gnu.org> wrote:
>
> > Andres Valloud wrote:
> > > Hello.
> > >
> > > I decided to go after the messages in Object first. Out of the list,
> > > which I reproduce below,
> > >
> > > Object class>>initialize
> > > Object>>=
> > > Object>>==
> > > Object>>addDependent:
> > > Object>>allOwners
> > > Object>>become:
> > > Object>>broadcast:
> > > Object>>broadcast:with:
> > > Object>>broadcast:with:with:
> > > Object>>broadcast:withArguments:
> > > Object>>broadcast:withBlock:
> > > Object>>changed
> > > Object>>changed:
> > > Object>>copy
> > > Object>>deepCopy
> > > Object>>dependents
> > > Object>>displayOn:
> > > Object>>displayString
> > > Object>>ifNil:
> > > Object>>ifNil:ifNotNil:
> > > Object>>ifNotNil:
> > > Object>>ifNotNil:ifNil:
> > > Object>>instVarAt:
> > > Object>>instVarAt:put:
> > > Object>>isReadOnly
> > > Object>>makeReadOnly:
> > > Object>>perform:
> > > Object>>postCopy
> > > Object>>release
> > > Object>>removeDependent:
> > > Object>>shallowCopy
> > > Object>>storeLiteralOn:
> > > Object>>storeOn:
> > > Object>>storeString
> > > Object>>update:
> > >
> > >
> > > I think the following ones are good candidates for discussion. Since
> > > the list includes = and ==, I added hash and identityHash.
> > >
> > > Object>>=
> > > Object>>==
> > > Object>>hash
> > > Object>>identityHash
> >
> > Actually, these are already in the standard. My mistake.
> >
> > > Object>>become:
> > > Object>>ifNil:
> > > Object>>ifNil:ifNotNil:
> > > Object>>ifNotNil:
> > > Object>>ifNotNil:ifNil:
> > > Object>>instVarAt:
> > > Object>>instVarAt:put:
> >
> > These are indeed good candidates for discussion.
> >
> > > Object>>perform:
> >
> > This one is already in the standard, but I wanted to propose an
> > extension whereby you could pass a Message to #perform: (a
> > <failedMessage> in standardese).
> >
> > Paolo
> >
> > _______________________________________________
> > ANSI-Smalltalk mailing list
> > ANSI-Smalltalk at lists.openskills.org
> > http://lists.openskills.org/cgi-bin/mailman/listinfo/ansi-smalltalk
> >
>
>
> _______________________________________________
> ANSI-Smalltalk mailing list
> ANSI-Smalltalk at lists.openskills.org
> http://lists.openskills.org/cgi-bin/mailman/listinfo/ansi-smalltalk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openskills.org/pipermail/ansi-smalltalk/attachments/20080321/7edc5fde/attachment.html
More information about the ANSI-Smalltalk
mailing list