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 <[email protected]> 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 > > >
