Great!! Thanks, Stef!

Now on to the parrot operator, initializing local variables at point of��declaration, and destructuring collections....

(For those for whom these are new ideas, see: https://github.com/dvmason/Pharo-Functional )

../Dave

On Mon, 18 Sept 2023 at 15:40, stephane ducasse <stephane.ducasse@inria.fr> wrote:
testNestedLiteralSet

�� �� �� �� | compiler |
�� �� �� �� compiler := OpalCompiler new.
�� �� �� �� compiler compilationContext parserClass: RBParserLiteralCollection.
�� �� �� �� self
�� �� �� �� �� �� �� �� assert: (compiler evaluate: '{ :Set 1 . {�� :Set 2 . 2 } . 1}' )
�� �� �� �� �� �� �� �� equals:�� (Set new add: 1 ; add: (Set new add: 2; add: 2; yourself);�� add: 1 ;yourself).



testOrderedCollection

�� �� �� �� | compiler |
�� �� �� �� compiler := OpalCompiler new.
�� �� �� �� compiler compilationContext parserClass: RBParserLiteralCollection.
�� �� �� �� self
�� �� �� �� �� �� �� �� assert: (compiler evaluate: '{ :OrderedCollection 1 . 2 . 1 . 3}��� )
�� �� �� �� �� �� �� �� equals: #(1 2 1 3) asOrderedCollection.


testDictionary

�� �� �� �� | compiler dict |
�� �� �� �� compiler := OpalCompiler new.
�� �� �� �� compiler compilationContext parserClass: RBParserLiteralCollection.
�� �� �� �� dict := (compiler evaluate: '{ :Dictionary #a -> 33 . #b -> 44}' ).
�� �� �� �� self assert: (dict at: #a) equals: 33

I want to thank dave mason for the design!

S