Hi nicolas 

I agree :)
So we should find the right balance. 
Stef


> For FileSystem, there is a clear win, so I'd say the change is really worth.
> 1) you add more capabilities
> 2) more logical/convenient API
> 3) more efficient implementation
> 4) more scalable implementation
> The optional compatibility layer you offered is the exact solution to the 
> upgrade problem (you give a bit of time to maintainers)
> I buy it.
> 
> For and:and:and: etc... I agree with deprecation because such selector adds 
> near to null
> (I personnally changed many senders in Squeak, so I'm totally biased here).
> 
> For isNotNil I'm not convinced at all.
> To me, it's not much but noise.
> There are currently 3 senders vs 890 for notNil. I imagine many more in many 
> packages.
> Think in mid/long term. What's your plans? Wait for the balance to slowly 
> inverse? Rename all?
> 
> For notEmpty, it's worse: 6 implementors.
> So what's the new contract? any new implementor of notEmpty shall also 
> implement isNotEmpty?
> Or isNotEmpty is implemented in term of notEmpty in Object?
> Currently, 5 out of 6 implementors of notEmpty do not implement isNotEmpty 
> and 1 out of 2 implementor of isNotEmpty does not implement notEmpty.
> It's not just noise, it's currently a mess!
> 
> As for an automated rewrite rule, yes, this is some very usefull features for 
> supporting such refactorings.
> I'd say a pre-requisite.
> But that force using several branches for cross version support, or worse, 
> cross dialect support.
> If all diffs are automated, that's ok, if some of the changes are manual, 
> it's a pain (backport etc...)
> 
> 
> 2013/7/17 Camillo Bruni <camillobr...@gmail.com>
> there have been many similar decisions in the past,
> I remember for instance the move from #and:and:and: or #or:or:or: which
> weighs around the same as the #isNotNil.
> 
> FileSystem or Slots are even on a bigger scale.
> 
> Package maintenance in which sense, across different Pharo versions or 
> different Smalltalk versions?
> 
> Between Pharo versions should be more or less ok, since such changes 
> (#isNotNil and Co) usually come with a proper deprecation.
> 
> AFAIK there is someone working on detecting much more subtle changes in Pharo 
> and provide lint rules on top. So I think we have to embrace changes.
> 
> On 2013-07-17, at 22:49, Nicolas Cellier <nicolas.cellier.aka.n...@gmail.com> 
> wrote:
> > I wonder what is the decision process behind such change.
> > Do you put in balance what you gain and what you loose?
> > To me gain is near zero and these little changes stacked together put a
> > useless burden on package maintenance.
> >
> >
> > 2013/7/17 Camillo Bruni <camillobr...@gmail.com>
> >
> >> On 2013-07-17, at 22:32, Nicolas Cellier <
> >> nicolas.cellier.aka.n...@gmail.com> wrote:
> >>> So you would be ready to change notNil -> isNotNil and become a bit more
> >>> incompatible with the rest of the world?
> >>
> >> that method is already present in the image.
> >>
> >>> I understand that the pair isEmpty/isNotEmpty may seem a bit more
> >>> homogeneous, but I see no other selector constructed with (isNot isnt)
> >>> while I see many others where is is omitted.
> >>> I wonder what this kind of change really serve...
> >>
> >> For me they are consistent with all the other is* methods out there
> >> returning booleans.
> 
> 
> 

Reply via email to