Hi nicolas

where it is defined that collation is something returning -1, 0, 1?
I'm always thinking to newcomers that have to learn yet another
concept and here for nothing.
Because SortFunction with a nice comment saying that it should return
-1, 0, 1 looks simpler that CollatorFunction which tells me nothing,
except that may be this is about drinking (for french).


Stef

On Sun, Nov 5, 2017 at 3:47 PM, Nicolas Cellier
<[email protected]> wrote:
>
>
> 2017-11-05 10:16 GMT+01:00 Esteban Lorenzano <[email protected]>:
>>
>>
>>
>> > On 5 Nov 2017, at 06:00, Stephane Ducasse <[email protected]>
>> > wrote:
>> >
>> > Hi guys
>> >
>> > Why do we rename class Sort to introduce terms that have unknown,
>> > unclear, undocumented meaning?
>>
>> +1
>>
>> >
>> > To me PluggableSortFunction is MUCH better than CollatorBlockFunction.
>>
>> but pluggable is also bad, IMO.
>> also I see there is some incoherence in the names:
>
>
> agree with Esteban, Pluggable pouah!
>
>>
>> ChainedSortFunction -> this is kind of ok, but I think a
>> “ComposedSortFunction” is better.
>
>
> But there can be several kind of composition...
> For example wrapped as illustrated with UnderfinedSorter refactoring that I
> proposed.
> Personnally I like Chained because it explicitely tells the kind of
> composition
>
>> SortByPropertyFunction -> shouldn’t be “PropertySortFunction”  ? (coherent
>> with the previous one)
>
>
> +1 for PropertySortFunction, or maybe just PropertySorter
>
>> CollatorSortFunction -> this is like a “BlockSortFunction” or
>> “ValuableSortFunction” ?
>
>
> CollatorBlockFunction is only a proxy to the block so as it answers to
> #threeWayCompare:with: protocol rather than value:value:
> It's a Block view as a CollatorFunction.
> The name first surprised me negatively, but after reflexion it tells what it
> is.
>
> 1) Collator indicates that the block (valuable) will return -1, 0 or +1
>
> 2) It's not necessarily a block, it could be anything understanding
> value:value:
> But, the valuable should return -1,0,+1, so apart <=> (threeWayCompareTo:)
> it ain't gonna be anything but a block in practice.
> For <=> we would want a DefaultSortFunction and would not use a
> CollatorBlockFunction.
>
> 3) Function refers to SortFunction.
> For this, I'm neutral, whether you call it Sorter or SortFunction I don't
> care.
> SortFunction kind of implies these are stateless, so it's a rather good and
> accurate name.
> Maybe a Sorter could be more confusing, because a Sorter could be thought as
> having the sorted collection as instance variable (statefull).
>
> Nicolas
>
>>
>> Esteban
>>
>> >
>> > Stef
>> >
>>
>>
>

Reply via email to