<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        Hi Nicolas.<div><br></div><div>> <span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">from time to time, we might want to add some Rosetta snippets for our favourite Smalltalk flavor.</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br></span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">Absolutely. :-) Is there a place for this:</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br></span></div><div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">input := #( (1 2 3) (a b) (nil) ).</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">output := input inject: #(()) into: [:a :b | (a collect: [:i | b collect: [:j | i copyWith: j]]) reduce: #,].</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">"#(#(1 #a nil) #(1 #b nil) #(2 #a nil) #(2 #b nil) #(3 #a nil) #(3 #b nil))"</span></span></div></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px"><br></span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">> </span></span><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">One of the pitfalls is the syntax for declaring classes and methods</span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px"><br></span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">Reminds me of Christoph's recent DynamicObject proposal. What about this:</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px"><br></span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">Class named: #SomeNewClass vars: #(a b c) withAll: {</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">   #foo -> [:inst | 12 + inst baz].</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">   #bar: -> [:inst :arg | arg + 12].</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">   #baz -> [:inst | inst a].</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">}</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px"><br></span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">... with auto-generated accessors.</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px"><br></span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">Best,</span></span></div><div style=""><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">Marcel</span></span></div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 22.04.2020 23:45:54 schrieb Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:</p><div style="font-family:Arial,Helvetica,sans-serif">
<div dir="ltr"><div>Hi all,</div><div>from time to time, we might want to add some Rosetta snippets for our favourite Smalltalk flavor.</div><div>I have added a Squeak entry for <a href="https://rosettacode.org/wiki/Hamming_numbers#Smalltalk">https://rosettacode.org/wiki/Hamming_numbers#Smalltalk</a></div><div><br></div><div>This is related to the discussion having taken place here about Generator(s), timesCollect: ...</div><div>I have used Xtreams for laziness capability.</div><div>It's not perfect, because the block read stream does not have absolute positioning capability.<br></div><div>I could have used a Generator, if only it had the capability to skip a batch of items...</div><div><br></div><div>The snippet is reasonably fast.</div><div><br></div><div>One of the pitfalls is the syntax for declaring classes and methods (bangs gives a wrong idea of what Smalltalk coding is).<br></div><div>I guess that's one of the reasons motivating Pharo's Tonel format (like the gnu format)<br></div></div>
</div></blockquote>
                                        </div></body>