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