2017-11-07 11:24 GMT+01:00 Denis Kudriashov <[email protected]>:

>
> 2017-11-07 9:23 GMT+01:00 Nicolas Cellier <nicolas.cellier.aka.nice@gmai
> l.com>:
>
>> I have other ideas yet.
>>
>> The selector undefinedFirst is good, but the implementation not so.
>> I don't like the UndefinedSortFunction: too specific, compose oddly...
>>
>> In the PR, collatedBy: is the way to tell how we sort properties (if you
>> have a better name, go, it's bikesheding day)
>>
>>     "sort by size of name"
>>     (people sorted: (#name collatedBy: #size))
>>         =  (people sorted: [:p| p name size])
>>
>
> It is nice idea but it should be not bound to sort functions. Because this
> feature is useful for other block based messages:
>
> people collect: #name >> #size
>
> people select: #name >> #size >> #even
>
> (I use >> as example).
> Generally it is about functional programming. Would be nice to have this
> in image because it will simplify scripting a lot.
> I remember nice set of blog posts from Vassili Bykov about such kind of
> things http://blog.3plus4.org/2007/03/.
>
>
This code has a cost, however.

First, it's rather slow (hidden #perform: in there).

Second, I had a first hand experience that it is making it significantly
more complex to understand for newcomers (implying that it creates
additional, special semantics compared to basic smalltalk). I know that
there is no special semantic involved, but it looks as if to practitionners
of other programming languages and their complex semantics.

I do like the SortFunctions idea (and its extension), but it's important
IMHO to not make it too cryptic.

Regards,

Thierry

Reply via email to