Would use of ? and ! in unary/keyword selectors be convention or somehow 
required? If simply convention, then we should start with renaming testing 
methods to be named is* or has*. 
        flag1 := anInteger even.                “not good"
        flag2 := anInteger isEven.      “better"
        flag3 := anInteger even?.       “how much better?”
        flag4 := #(1 2 3) includes?: 2. “how much better?"
I’m not convinced that having another way to indicate a testing method will 
help if people still don’t name methods well. 

Also, can you give an example of where ! would clarify the meaning? Are you 
thinking of the following:
        myPoint x!: 3.
        myArray at: 1 put!: nil.
Those don’t seem to be much improved!

I’m not arguing for “compatibility" or "staying in the past." I’m just trying 
to understand the benefit.

Thanks,

James

> On Sep 10, 2019, at 1:14 PM, ducasse <[email protected]> wrote:
> 
> I would love to retract ? and ! from the list of binary selectors. 
> I’m super super frustrated that predicates cannot be easily identifiable. 
> 
> for example is 
>       lineUpBlockBrackets an action or a testing method.
> 
> I think that we are trapped in mistakes from the past. 
> In racket and scheme and I guess ruby too we can use ? in the method and 
> this change the game. 
> 
> self lineUpBlockBrackets? 
> 
> We have plenty of binary selector parts that are not used and think that 
> it is frustrating. 
> 
> Let us check: 
> 
> Character specialCharacters 
> 
>       '+-/\*~<>=@,%|&?!·÷±×'
> 
> + 
> - 
> /
> \
> ~
> <
>> 
> =
> @
> ,
> &
> | 
> %
> 
> those are ok
> 
> I have no idea what is · nor how to type it. 
> ÷ looks from the past.
> ± so funny
> × no idea what it is and….
> 
> Then we have two that could really improve our language 
>       ? and !
> 
> Do not tell me that there is a value in these selectors?
> 
> 
> (#(#+ #- #/ #\ #* #~ #< #> #= #@ #, #% #| #& #? #!) combinations 
>       select: [ :each | each size = 3 and: [ each includesAnyOf: #(#? #!) ] 
> ]) collect: [ :each | each first, each second, each third ] 
> 
> #(#'+-?' #'+-!' #'+/?' #'+/!' #'+\?' #'+\!' #'+*?' #'+*!' #'+~?' #'+~!' 
> #'+<?' #'+<!' #'+>?' #'+>!' #'+=?' #'+=!' #'+@?' #'+@!' #'+,?' #'+,!' #'+%?' 
> #'+%!' #'+|?' #'+|!' #'+&?' #'+&!' #'+?!' #'-/?' #'-/!' #'-\?' #'-\!' #'-*?' 
> #'-*!' #'-~?' #'-~!' #'-<?' #'-<!' #'->?' #'->!' #'-=?' #'-=!' #'-@?' #'-@!' 
> #'-,?' #'-,!' #'-%?' #'-%!' #'-|?' #'-|!' #'-&?' #'-&!' #'-?!' #'/\?' #'/\!' 
> #'/*?' #'/*!' #'/~?' #'/~!' #'/<?' #'/<!' #'/>?' #'/>!' #'/=?' #'/=!' #'/@?' 
> #'/@!' #'/,?' #'/,!' #'/%?' #'/%!' #'/|?' #'/|!' #'/&?' #'/&!' #'/?!' #'\*?' 
> #'\*!' #'\~?' #'\~!' #'\<?' #'\<!' #'\>?' #'\>!' #'\=?' #'\=!' #'\@?' #'\@!' 
> #'\,?' #'\,!' #'\%?' #'\%!' #'\|?' #'\|!' #'\&?' #'\&!' #'\?!' #'*~?' #'*~!' 
> #'*<?' #'*<!' #'*>?' #'*>!' #'*=?' #'*=!' #'*@?' #'*@!' #'*,?' #'*,!' #'*%?' 
> #'*%!' #'*|?' #'*|!' #'*&?' #'*&!' #'*?!' #'~<?' #'~<!' #'~>?' #'~>!' #'~=?' 
> #'~=!' #'~@?' #'~@!' #'~,?' #'~,!' #'~%?' #'~%!' #'~|?' #'~|!' #'~&?' #'~&!' 
> #'~?!' #'<>?' #'<>!' #'<=?' #'<=!' #'<@?' #'<@!' #'<,?' #'<,!' #'<%?' #'<%!' 
> #'<|?' #'<|!' #'<&?' #'<&!' #'<?!' #'>=?' #'>=!' #'>@?' #'>@!' #'>,?' #'>,!' 
> #'>%?' #'>%!' #'>|?' #'>|!' #'>&?' #'>&!' #'>?!' #'=@?' #'=@!' #'=,?' #'=,!' 
> #'=%?' #'=%!' #'=|?' #'=|!' #'=&?' #'=&!' #'=?!' #'@,?' #'@,!' #'@%?' #'@%!' 
> #'@|?' #'@|!' #'@&?' #'@&!' #'@?!' #',%?' #',%!' #',|?' #',|!' #',&?' #',&!' 
> #',?!' #'%|?' #'%|!' #'%&?' #'%&!' #'%?!' #'|&?' #'|&!' #'|?!' #'&?!’)
> 
> may be this one #&?! is useful for WTF!
> 
> And because of that we sacrifice having nice method names!
> I really think that we should change that.
> 
> S. 
> 
> 
> 
> 


Reply via email to