Ok I will allocate some time to produce a booklet on ston :).

S. 


> On 30 Jun 2020, at 23:05, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> 
> Hi Stef,
> 
> With the following commit 
> https://github.com/svenvc/ston/commit/3565d388172b76c180454575d4c2f71019f130c4
> 
> there is now basic support for SortCollections using SortFunctions.
> 
> All of the following can now be serialised and materialised by STON (see 
> #testSortedCollections):
> 
> SortedCollection new.
> SortedCollection new: 0.
> 
> #(5 3 7 2 1 4 10 9 8 6) asSortedCollection.
> 
> #(5 3 7 2 1 4 10 9 8 6) asSortedCollection: #yourself ascending.
> #(5 3 7 2 1 4 10 9 8 6) asSortedCollection: #yourself descending.
> 
> #('****' '*' '*****' '**' '***') asSortedCollection: #size ascending.
> #('****' '*' '*****' '**' '***') asSortedCollection: #size descending.
> 
> #(5 3 7 2 1 4 10 nil 9 8 6) asSortedCollection: #yourself ascending 
> undefinedFirst.
> #(5 3 7 2 1 4 10 nil 9 8 6) asSortedCollection: #yourself ascending reversed 
> undefinedLast.
> 
> I think this trick covers a large set of SortedCollection use cases avoiding 
> blocks by using SortFunctions.
> 
> This technique could also be used to replace other block usages elsewhere.
> 
> To answer your original question: yes we could add this to the documentation 
> (although right now it is very new and unproven).
> 
> Regards,
> 
> Sven
> 
>> On 28 Jun 2020, at 12:25, Stéphane Ducasse <stephane.duca...@inria.fr> wrote:
>> 
>> 
>> 
>>> On 27 Jun 2020, at 16:58, Sven Van Caekenberghe <s...@stfx.eu> wrote:
>>> 
>>> Hi Russ,
>>> 
>>> The limitation of STON not being capable of serialising a block closure 
>>> still stands and will probably not change very soon (it open up the whole 
>>> language to be written out).
>>> 
>>> You can work around this though, with sort functions for example.
>>> 
>>> Here is an example:
>>> 
>>> { 1->#one. 3->#three. 2->#two } sorted: (STON fromString: (STON 
>>> toStringPretty: #key ascending)).
>>> 
>>> SortFunctions are really cool BTW (they can handles nil values elegantly).
>>> 
>>> Sven
>> 
>> Sven do you think that we should have a little section on this question in 
>> STON chapter.
>> 
>> S
> 
> 

--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org 
03 59 35 87 52
Assistant: Aurore Dalle 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France

Reply via email to