in any case, we already have the idiom #isEmptyOrNil (btw, in pharo4 it was
removed from Object and I don’t know why, but is still in Collection and in
UndefinedObject).
So, in case of adding it, the correct implementation should be:
1) restore Object>>#isEmptyOrNil ^ false
2) implement:
Object>>#ifEmptyOrNil: aBlock
self isEmptyOrNil ifTrue: aBlock.
^ self
which IMO is the clean way to implement such idiom.
said that, I will go back to my vacations :)
Esteban
> On 05 Jan 2015, at 15:47, Esteban A. Maringolo <[email protected]> wrote:
>
> El Mon Jan 05 2015 at 3:36:50 PM, stepharo <[email protected]
> <mailto:[email protected]>> escribió:
>
> This is not because some people may not know how to program in other
> languages that we should copy that.
>
> I share your "taste" for this kind of code.
>
> But this purist approach raises the bar leaving out a lot of developers with
> poor design/modelling skills. The more 1:1 mappings they can bring in from
> their previous language of choice, the better, and higher the odds they'll
> clinge on Pharo and continue using it.
>
> To make both "sides" of this discussion happy I think the base image
> shouldn't include this, and there can be an extra package with these
> "language" extensions.
>
> Regards!
>