2017-11-07 11:24 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:2017-11-07 9:23 GMT+01:00 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com >:I have other ideas yet.I don't like the UndefinedSortFunction: too specific, compose oddly...The selector undefinedFirst is good, but the implementation not so.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(I use >> as example).��people select: #name >> #size >> #evenGenerally 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