Looks like Christmas season opened early this year :)

Jokes aside, I'm in favor of changing some of the characters we use for
binary selectors to allow it to be used in keyword/unary messages.

I'll include % in that list. For me its more useful as a way to create
percentages ( 5 % ) than to be used as a binary message for keeping an ugly
name from C-like languages.

   - · is middle dot and it's used in some math operations AFAIR
   - × is used in math also (it's used as the multiplication sign for
   scalars, cross product for vectors and cartesian product for sets)

One thing that would be really cool is that we can use the full power of
Unicode in methods/class names. Projects like polymath and DSLs can clearly
take advantage of that. Some examples I've just invented, but can be
supported:


   -

   ∑ from: 1 to: 5 do: [:i | i + i squared ]
   -

   1 ≥ 3
   -

   ∃ anyIn: #( 1 2 4) such: [:x | x isPrime ]
   -

   ∅ includes: 1




On Tue, Sep 10, 2019 at 5:15 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