[squeak-dev] generators

Rolandas Guobys rolandasguobys at gmail.com
Fri Jul 9 16:44:33 UTC 2021


please don't send me more letters !!!

> On 2020-06-23, at 23:39, Tobias Pape <Das.Linux at gmx.de> wrote:
> 
> 
>> On 23.06.2020, at 20:28, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
>> 
>> +1 nice!
> 
> yeah, nice addition!
> I'd suggest to keep #yield: around, tho. 
> I think it is kind-of tied to the Generator idea (viz. Python, JavaScript, C#)..
> 
> Best regards
>    -Tobias
> 
>> 
>> Le mar. 23 juin 2020 à 20:23, Eliot Miranda <eliot.miranda at gmail.com> a écrit :
>> Hi All,
>> 
>>    I juts had occasion to use generators in anger for the first time.  I was trying to fnd out why a clone of a prse tree was reporting that it was not the same tree.  Generators made enumerating all nodes in each tree together trivial:
>> 
>> | them |
>> them := Generator on: [:g| newTree nodesDo: [:n| g yield: n]].
>> parseTree nodesDo:
>>    [:n| | twin |
>>    twin := them next.
>>    (n isSameAs: twin) ifFalse:
>>        [self halt]]
>> 
>> My message though comes from noticing that generators yield their values via next, so why not use nextPut: instead of yield: ?
>> 
>> e.g. I think this is better:
>> 
>> | them |
>> them := Generator on: [:g| newTree nodesDo: [:n| g nextPut: n]].
>> parseTree nodesDo:
>>    [:n| | twin |
>>    twin := them next.
>>    (n isSameAs: twin) ifFalse:
>>        [self halt]]
>> 
>> _,,,^..^,,,_
>> best, Eliot
>> 
>> 
> 
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210709/38ffa167/attachment.html>


More information about the Squeak-dev mailing list