> On 11 Sep 2019, at 04:07, James Foster <smallt...@jgfoster.net> wrote:
>
> 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 think that I would use ? mainly for unary message
Now I’m sure that if you look carefully some people use
include
for the action
includes
for the tests
I took include as an example and this is super not intention revealing.
>> lineUpBlockBrackets
lineUpBlockBrackets?
Now I will rewrite them all as shouldLineUpBlockBrackets or
isLineUpBlockBrackets and to me for unary message ? makes it a lot 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!
Pay attention you cannot use ! as separator.
For ! I do not care now.
> I’m not arguing for “compatibility" or "staying in the past." I’m just trying
> to understand the benefit.
The question ?
>
> Thanks,
>
> James
>
>> On Sep 10, 2019, at 1:14 PM, ducasse <steph...@netcourrier.com> 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.
>>
>>
>>
>>
>
>