destructDo:

CH
Christian Haider
Sun, Mar 29, 2020 4:21 PM

Hello Martin,

You are right, but I disagree :).

It started by using #valueWithArguments: more often. I find it very bulky, hard to format nicely and difficult to read. This is because the block is the receiver. As last argument, the world looks brighter, because at the end the block formats better.

Compare:

            ^aList asArgumentsIn: [:a :b :c |

                           | x y |

                           x := a send: b with: c.

y := ‘multiline block’.

x printString, y]

with:

            ^[:a :b :c | 

                           | x y |

                           x := a send: b with: c.

y := ‘multiline block’.

x printString, y

] valueWithArguments: aList

I see the second pattern used in two subsystems in VW, one also uses #cull…

Maybe I find it more difficult to read the second pattern, because the argument list is very far away from the list it associates with.

I think that I will settle with #asArgumentsIn: and see how it reads in real life.

As a shortcut, I can imagine an operator… (too bad that VW doesn’t support Unicode for operators…)

Thank you!

Von: Esug-list esug-list-bounces@lists.esug.org Im Auftrag von Martin McClure
Gesendet: Sonntag, 29. März 2020 17:50
An: Bruce Badger bwbadger@gmail.com; Tim Mackinnon tim@testit.works
Cc: esug-list@lists.esug.org Members esug-list@lists.esug.org
Betreff: Re: [Esug-list] destructDo:

After thinking about this message some more, it seemed to me that it was easier to come up with a good intention-revealing name if the block were the receiver and the array were the argument. It would be some kind of #valueWithArguments: selector. So I looked to see whether there was already such a thing, and sure enough, in Pharo there is #valueWithPossibleArgs:.

#valueWithPossibleArgs: will accept arrays (and I hope any SequenceableCollection) of any size -- trimming the end off if too large, padding with nils if too short.

On the principle of "if it's easy to come up with a good name, the design is probably pretty good" could this possibly be a better solution?

Regards,
-Martin

On 3/29/20 7:50 AM, Bruce Badger wrote:

We write code once, but read it many times.  Given the relatively few times I would be using this (rather nice) thing, I'd be happy to type the full:

asArgumentsIn:

Christian, congratulations on coming up with something to get us all thinking and talking.  Good timing too :-/

Very best wishes,

Bruce

On Sun, 29 Mar 2020 at 15:24, Tim Mackinnon  mailto:tim@testit.works tim@testit.works wrote:

Agree with intention revealing - #argumentsIn: would contract it a bit more (not sure the as strictly needed as we aren’t returning a result). And #argsIn: might be a bit too concise.

Like this proposal though.

Tim

On Sun, 29 Mar 2020, at 2:28 PM, Helge Nowak via Esug-list wrote:

intention revealing trumps brevity

Am Sonntag, 29. März 2020, 00:58:49 MEZ hat Christian Haider <christian.haider@smalltalked-visuals.com mailto:christian.haider@smalltalked-visuals.com > Folgendes geschrieben:

Not bad! Captures the semantics nicely.

Just a bit long

Von: Esug-list <esug-list-bounces@lists.esug.org mailto:esug-list-bounces@lists.esug.org > Im Auftrag von Bert Freudenberg

Gesendet: Sonntag, 29. März 2020 00:12

An: esug-list@lists.esug.org mailto:esug-list@lists.esug.org

Betreff: Re: [Esug-list] destructDo:

On Sat, Mar 28, 2020 at 11:27 AM Pape, Tobias <Tobias.Pape@hpi.de mailto:Tobias.Pape@hpi.de > wrote:

What about

    ^stringsOfLine asComponentsIn: [:ignore :string2 :string3 :string4 |

            self produktbereich: string2 profitcenter: string3 bezeichnung: string4]

?

Best regards

    -Tobias

Agreed, "...In:" is better than "...Do" because the latter implies iteration in Smalltalk. (never mind ifNotNilDo: which broke the convention)

And since block arguments are called "arguments" how about

aCollection asArgumentsIn: [:arg1 :arg2 :arg3 | ... ]

  • Bert -

PS: Happy Covid Bike Shedding ;)


Esug-list mailing list

Esug-list@lists.esug.org mailto:Esug-list@lists.esug.org

http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org


Esug-list mailing list

Esug-list@lists.esug.org mailto:Esug-list@lists.esug.org

http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org


Esug-list mailing list
Esug-list@lists.esug.org mailto:Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org


Esug-list mailing list
Esug-list@lists.esug.org mailto:Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

Hello Martin, You are right, but I disagree :). It started by using #valueWithArguments: more often. I find it very bulky, hard to format nicely and difficult to read. This is because the block is the receiver. As last argument, the world looks brighter, because at the end the block formats better. Compare: ^aList asArgumentsIn: [:a :b :c | | x y | x := a send: b with: c. y := ‘multiline block’. x printString, y] with: ^[:a :b :c | | x y | x := a send: b with: c. y := ‘multiline block’. x printString, y ] valueWithArguments: aList I see the second pattern used in two subsystems in VW, one also uses #cull… Maybe I find it more difficult to read the second pattern, because the argument list is very far away from the list it associates with. I think that I will settle with #asArgumentsIn: and see how it reads in real life. As a shortcut, I can imagine an operator… (too bad that VW doesn’t support Unicode for operators…) Thank you! Von: Esug-list <esug-list-bounces@lists.esug.org> Im Auftrag von Martin McClure Gesendet: Sonntag, 29. März 2020 17:50 An: Bruce Badger <bwbadger@gmail.com>; Tim Mackinnon <tim@testit.works> Cc: esug-list@lists.esug.org Members <esug-list@lists.esug.org> Betreff: Re: [Esug-list] destructDo: After thinking about this message some more, it seemed to me that it was easier to come up with a good intention-revealing name if the block were the receiver and the array were the argument. It would be some kind of #valueWithArguments: selector. So I looked to see whether there was already such a thing, and sure enough, in Pharo there is #valueWithPossibleArgs:. #valueWithPossibleArgs: will accept arrays (and I hope any SequenceableCollection) of any size -- trimming the end off if too large, padding with nils if too short. On the principle of "if it's easy to come up with a good name, the design is probably pretty good" could this possibly be a better solution? Regards, -Martin On 3/29/20 7:50 AM, Bruce Badger wrote: We write code once, but read it many times. Given the relatively few times I would be using this (rather nice) thing, I'd be happy to type the full: asArgumentsIn: Christian, congratulations on coming up with something to get us all thinking and talking. Good timing too :-/ Very best wishes, Bruce On Sun, 29 Mar 2020 at 15:24, Tim Mackinnon <mailto:tim@testit.works> <tim@testit.works> wrote: Agree with intention revealing - #argumentsIn: would contract it a bit more (not sure the as strictly needed as we aren’t returning a result). And #argsIn: might be a bit too concise. Like this proposal though. Tim On Sun, 29 Mar 2020, at 2:28 PM, Helge Nowak via Esug-list wrote: intention revealing trumps brevity Am Sonntag, 29. März 2020, 00:58:49 MEZ hat Christian Haider <christian.haider@smalltalked-visuals.com <mailto:christian.haider@smalltalked-visuals.com> > Folgendes geschrieben: Not bad! Captures the semantics nicely. Just a bit long Von: Esug-list <esug-list-bounces@lists.esug.org <mailto:esug-list-bounces@lists.esug.org> > Im Auftrag von Bert Freudenberg Gesendet: Sonntag, 29. März 2020 00:12 An: esug-list@lists.esug.org <mailto:esug-list@lists.esug.org> Betreff: Re: [Esug-list] destructDo: On Sat, Mar 28, 2020 at 11:27 AM Pape, Tobias <Tobias.Pape@hpi.de <mailto:Tobias.Pape@hpi.de> > wrote: What about ^stringsOfLine asComponentsIn: [:ignore :string2 :string3 :string4 | self produktbereich: string2 profitcenter: string3 bezeichnung: string4] ? Best regards -Tobias Agreed, "...In:" is better than "...Do" because the latter implies iteration in Smalltalk. (never mind ifNotNilDo: which broke the convention) And since block arguments are called "arguments" how about aCollection asArgumentsIn: [:arg1 :arg2 :arg3 | ... ] - Bert - PS: Happy Covid Bike Shedding ;) _______________________________________________ Esug-list mailing list Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org _______________________________________________ Esug-list mailing list Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org _______________________________________________ Esug-list mailing list Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org _______________________________________________ Esug-list mailing list Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
CH
Christian Haider
Sun, Mar 29, 2020 4:23 PM

Hi Tim,

I think that the „as” is essential and asArgsIn: would read as nice…

Von: Esug-list esug-list-bounces@lists.esug.org Im Auftrag von Tim Mackinnon
Gesendet: Sonntag, 29. März 2020 16:24
An: esug-list@lists.esug.org
Betreff: Re: [Esug-list] destructDo:

Agree with intention revealing - #argumentsIn: would contract it a bit more (not sure the as strictly needed as we aren’t returning a result). And #argsIn: might be a bit too concise.

Like this proposal though.

Tim

On Sun, 29 Mar 2020, at 2:28 PM, Helge Nowak via Esug-list wrote:

intention revealing trumps brevity

Am Sonntag, 29. März 2020, 00:58:49 MEZ hat Christian Haider <christian.haider@smalltalked-visuals.com mailto:christian.haider@smalltalked-visuals.com > Folgendes geschrieben:

Not bad! Captures the semantics nicely.

Just a bit long

Von: Esug-list <esug-list-bounces@lists.esug.org mailto:esug-list-bounces@lists.esug.org > Im Auftrag von Bert Freudenberg

Gesendet: Sonntag, 29. März 2020 00:12

An: esug-list@lists.esug.org mailto:esug-list@lists.esug.org

Betreff: Re: [Esug-list] destructDo:

On Sat, Mar 28, 2020 at 11:27 AM Pape, Tobias <Tobias.Pape@hpi.de mailto:Tobias.Pape@hpi.de > wrote:

What about

    ^stringsOfLine asComponentsIn: [:ignore :string2 :string3 :string4 |

            self produktbereich: string2 profitcenter: string3 bezeichnung: string4]

?

Best regards

    -Tobias

Agreed, "...In:" is better than "...Do" because the latter implies iteration in Smalltalk. (never mind ifNotNilDo: which broke the convention)

And since block arguments are called "arguments" how about

aCollection asArgumentsIn: [:arg1 :arg2 :arg3 | ... ]

  • Bert -

PS: Happy Covid Bike Shedding ;)


Esug-list mailing list

Esug-list@lists.esug.org mailto:Esug-list@lists.esug.org

http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org


Esug-list mailing list

Esug-list@lists.esug.org mailto:Esug-list@lists.esug.org

http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

Hi Tim, I think that the „as” is essential and asArgsIn: would read as nice… Von: Esug-list <esug-list-bounces@lists.esug.org> Im Auftrag von Tim Mackinnon Gesendet: Sonntag, 29. März 2020 16:24 An: esug-list@lists.esug.org Betreff: Re: [Esug-list] destructDo: Agree with intention revealing - #argumentsIn: would contract it a bit more (not sure the as strictly needed as we aren’t returning a result). And #argsIn: might be a bit too concise. Like this proposal though. Tim On Sun, 29 Mar 2020, at 2:28 PM, Helge Nowak via Esug-list wrote: intention revealing trumps brevity Am Sonntag, 29. März 2020, 00:58:49 MEZ hat Christian Haider <christian.haider@smalltalked-visuals.com <mailto:christian.haider@smalltalked-visuals.com> > Folgendes geschrieben: Not bad! Captures the semantics nicely. Just a bit long Von: Esug-list <esug-list-bounces@lists.esug.org <mailto:esug-list-bounces@lists.esug.org> > Im Auftrag von Bert Freudenberg Gesendet: Sonntag, 29. März 2020 00:12 An: esug-list@lists.esug.org <mailto:esug-list@lists.esug.org> Betreff: Re: [Esug-list] destructDo: On Sat, Mar 28, 2020 at 11:27 AM Pape, Tobias <Tobias.Pape@hpi.de <mailto:Tobias.Pape@hpi.de> > wrote: What about ^stringsOfLine asComponentsIn: [:ignore :string2 :string3 :string4 | self produktbereich: string2 profitcenter: string3 bezeichnung: string4] ? Best regards -Tobias Agreed, "...In:" is better than "...Do" because the latter implies iteration in Smalltalk. (never mind ifNotNilDo: which broke the convention) And since block arguments are called "arguments" how about aCollection asArgumentsIn: [:arg1 :arg2 :arg3 | ... ] - Bert - PS: Happy Covid Bike Shedding ;) _______________________________________________ Esug-list mailing list Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org _______________________________________________ Esug-list mailing list Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
PT
Pape, Tobias
Sun, Mar 29, 2020 4:43 PM

On 29.03.2020, at 18:23, Christian Haider christian.haider@smalltalked-visuals.com wrote:

Hi Tim,

I think that the „as” is essential and asArgsIn: would read as nice…

But why contract the name? what would we gain?

Best regards
-Tobias

Von: Esug-list esug-list-bounces@lists.esug.org Im Auftrag von Tim Mackinnon
Gesendet: Sonntag, 29. März 2020 16:24
An: esug-list@lists.esug.org
Betreff: Re: [Esug-list] destructDo:

Agree with intention revealing - #argumentsIn: would contract it a bit more (not sure the as strictly needed as we aren’t returning a result). And #argsIn: might be a bit too concise.

Like this proposal though.

Tim

On Sun, 29 Mar 2020, at 2:28 PM, Helge Nowak via Esug-list wrote:

intention revealing trumps brevity

Am Sonntag, 29. März 2020, 00:58:49 MEZ hat Christian Haider christian.haider@smalltalked-visuals.com Folgendes geschrieben:

Not bad! Captures the semantics nicely.

Just a bit long

Von: Esug-list esug-list-bounces@lists.esug.org Im Auftrag von Bert Freudenberg
Gesendet: Sonntag, 29. März 2020 00:12
An: esug-list@lists.esug.org
Betreff: Re: [Esug-list] destructDo:

On Sat, Mar 28, 2020 at 11:27 AM Pape, Tobias Tobias.Pape@hpi.de wrote:

What about

     ^stringsOfLine asComponentsIn: [:ignore :string2 :string3 :string4 |
             self produktbereich: string2 profitcenter: string3 bezeichnung: string4]

?

Best regards
-Tobias

Agreed, "...In:" is better than "...Do" because the latter implies iteration in Smalltalk. (never mind ifNotNilDo: which broke the convention)

And since block arguments are called "arguments" how about

aCollection asArgumentsIn: [:arg1 :arg2 :arg3 | ... ]

  • Bert -

PS: Happy Covid Bike Shedding ;)


Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org


Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

--
Tobias Pape
Software Architecture Group | http://www.hpi.uni-potsdam.de/swa/
Future SOC Lab | https://hpi.de/future-soc-lab

Hasso-Plattner-Institut für Digital Engineering gGmbH | Universität Potsdam
Prof.-Dr.-Helmert-Str. 2-3, D-14482 Potsdam, Germany
Amtsgericht Potsdam, HRB 12184 | Geschäftsführung: Prof. Dr. Christoph Meinel

> On 29.03.2020, at 18:23, Christian Haider <christian.haider@smalltalked-visuals.com> wrote: > > Hi Tim, > > I think that the „as” is essential and asArgsIn: would read as nice… But why contract the name? what would we gain? Best regards -Tobias > > Von: Esug-list <esug-list-bounces@lists.esug.org> Im Auftrag von Tim Mackinnon > Gesendet: Sonntag, 29. März 2020 16:24 > An: esug-list@lists.esug.org > Betreff: Re: [Esug-list] destructDo: > > Agree with intention revealing - #argumentsIn: would contract it a bit more (not sure the as strictly needed as we aren’t returning a result). And #argsIn: might be a bit too concise. > > Like this proposal though. > > Tim > > On Sun, 29 Mar 2020, at 2:28 PM, Helge Nowak via Esug-list wrote: >> >> intention revealing trumps brevity >> >> Am Sonntag, 29. März 2020, 00:58:49 MEZ hat Christian Haider <christian.haider@smalltalked-visuals.com> Folgendes geschrieben: >> >> >> Not bad! Captures the semantics nicely. >> >> Just a bit long >> >> >> >> >> >> Von: Esug-list <esug-list-bounces@lists.esug.org> Im Auftrag von Bert Freudenberg >> Gesendet: Sonntag, 29. März 2020 00:12 >> An: esug-list@lists.esug.org >> Betreff: Re: [Esug-list] destructDo: >> >> >> >> On Sat, Mar 28, 2020 at 11:27 AM Pape, Tobias <Tobias.Pape@hpi.de> wrote: >> >>> >>> >>> What about >>> >>> ^stringsOfLine asComponentsIn: [:ignore :string2 :string3 :string4 | >>> self produktbereich: string2 profitcenter: string3 bezeichnung: string4] >>> >>> ? >>> >>> Best regards >>> -Tobias >>> >> >> >> Agreed, "...In:" is better than "...Do" because the latter implies iteration in Smalltalk. (never mind ifNotNilDo: which broke the convention) >> >> >> >> And since block arguments are called "arguments" how about >> >> >> >> aCollection asArgumentsIn: [:arg1 :arg2 :arg3 | ... ] >> >> >> >> - Bert - >> >> >> >> PS: Happy Covid Bike Shedding ;) >> >> _______________________________________________ >> Esug-list mailing list >> Esug-list@lists.esug.org >> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >> _______________________________________________ >> Esug-list mailing list >> Esug-list@lists.esug.org >> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >> > > _______________________________________________ > Esug-list mailing list > Esug-list@lists.esug.org > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org -- Tobias Pape Software Architecture Group | http://www.hpi.uni-potsdam.de/swa/ Future SOC Lab | https://hpi.de/future-soc-lab Hasso-Plattner-Institut für Digital Engineering gGmbH | Universität Potsdam Prof.-Dr.-Helmert-Str. 2-3, D-14482 Potsdam, Germany Amtsgericht Potsdam, HRB 12184 | Geschäftsführung: Prof. Dr. Christoph Meinel
NR
Niall Ross
Sun, Mar 29, 2020 4:59 PM

Dear Christian and Martin et al.,
one can simply reverse-ordering valueWith{Possible}Arguments: into
argumentsWithValue: - variants include asArgumentsEvaluating:,
useAsArgumentsIn:, asPossibleArgumentsTo: and etc.

Would it be too gross an abuse of the term to shorten 'possible' by
using 'cull' instead - cullArgumentsIn:, asArgumentsCulledEvaluating: ,
... ?  (I'm ready to respect in advance any purist who would rather type
the longer word. :-) )

If Christian finds it makes for cleaner code, then I'm all for it.  And
I endorse Tim's recommendation for clarity over brevity.  Making it look
something like a reversed valueWith{Possible}Arguments: is one form of
clarity.

                Just my 0.02p
                     Niall Ross

Martin McClure wrote:

After thinking about this message some more, it seemed to me that it
was easier to come up with a good intention-revealing name if the
block were the receiver and the array were the argument. It would be
some kind of #valueWithArguments: selector. So I looked to see whether
there was already such a thing, and sure enough, in Pharo there is
#valueWithPossibleArgs:.

#valueWithPossibleArgs: will accept arrays (and I hope any
SequenceableCollection) of any size -- trimming the end off if too
large, padding with nils if too short.

On the principle of "if it's easy to come up with a good name, the
design is probably pretty good" could this possibly be a better solution?

Regards,
-Martin

On 3/29/20 7:50 AM, Bruce Badger wrote:

We write code once, but read it many times.  Given the relatively few
times I would be using this (rather nice) thing, I'd be happy to type
the full:

asArgumentsIn:

Christian, congratulations on coming up with something to get us all
thinking and talking.  Good timing too :-/

Very best wishes,
Bruce

On Sun, 29 Mar 2020 at 15:24, Tim Mackinnon tim@testit.works wrote:

 Agree with intention revealing - #argumentsIn: would contract it
 a bit more (not sure the as strictly needed as we aren’t
 returning a result). And #argsIn: might be a bit too concise.

 Like this proposal though.

 Tim

 On Sun, 29 Mar 2020, at 2:28 PM, Helge Nowak via Esug-list wrote:
 intention revealing trumps brevity

 Am Sonntag, 29. März 2020, 00:58:49 MEZ hat Christian Haider
 <christian.haider@smalltalked-visuals.com
 <mailto:christian.haider@smalltalked-visuals.com>> Folgendes
 geschrieben:


 Not bad! Captures the semantics nicely.

 Just a bit long

  


 *Von:* Esug-list <esug-list-bounces@lists.esug.org
 <mailto:esug-list-bounces@lists.esug.org>> *Im Auftrag von *Bert
 Freudenberg
 *Gesendet:* Sonntag, 29. März 2020 00:12
 *An:* esug-list@lists.esug.org <mailto:esug-list@lists.esug.org>
 *Betreff:* Re: [Esug-list] destructDo:


  

 On Sat, Mar 28, 2020 at 11:27 AM Pape, Tobias
 <Tobias.Pape@hpi.de <mailto:Tobias.Pape@hpi.de>> wrote:


     What about

             ^stringsOfLine asComponentsIn: [:ignore :string2
     :string3 :string4 |
                     self produktbereich: string2 profitcenter:
     string3 bezeichnung: string4]

     ?

     Best regards
             -Tobias


  

 Agreed, "...In:" is better than "...Do" because the latter
 implies iteration in Smalltalk. (never mind ifNotNilDo: which
 broke the convention)

  

 And since block arguments are called "arguments" how about

  

 aCollection asArgumentsIn: [:arg1 :arg2 :arg3 | ... ]

  

 - Bert -

  

 PS: Happy Covid Bike Shedding ;)

 _______________________________________________
 Esug-list mailing list
 Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org>
 http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
 _______________________________________________
 Esug-list mailing list
 Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org>
 http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
 _______________________________________________
 Esug-list mailing list
 Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org>
 http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

Dear Christian and Martin et al., one can simply reverse-ordering valueWith{Possible}Arguments: into argumentsWithValue: - variants include asArgumentsEvaluating:, useAsArgumentsIn:, asPossibleArgumentsTo: and etc. Would it be too gross an abuse of the term to shorten 'possible' by using 'cull' instead - cullArgumentsIn:, asArgumentsCulledEvaluating: , ... ? (I'm ready to respect in advance any purist who would rather type the longer word. :-) ) If Christian finds it makes for cleaner code, then I'm all for it. And I endorse Tim's recommendation for clarity over brevity. Making it look something like a reversed valueWith{Possible}Arguments: is one form of clarity. Just my 0.02p Niall Ross Martin McClure wrote: > After thinking about this message some more, it seemed to me that it > was easier to come up with a good intention-revealing name if the > block were the receiver and the array were the argument. It would be > some kind of #valueWithArguments: selector. So I looked to see whether > there was already such a thing, and sure enough, in Pharo there is > #valueWithPossibleArgs:. > > #valueWithPossibleArgs: will accept arrays (and I hope any > SequenceableCollection) of any size -- trimming the end off if too > large, padding with nils if too short. > > On the principle of "if it's easy to come up with a good name, the > design is probably pretty good" could this possibly be a better solution? > > Regards, > -Martin > > On 3/29/20 7:50 AM, Bruce Badger wrote: > >> We write code once, but read it many times. Given the relatively few >> times I would be using this (rather nice) thing, I'd be happy to type >> the full: >> >> asArgumentsIn: >> >> Christian, congratulations on coming up with something to get us all >> thinking and talking. Good timing too :-/ >> >> Very best wishes, >> Bruce >> >> On Sun, 29 Mar 2020 at 15:24, Tim Mackinnon <tim@testit.works> wrote: >> >> Agree with intention revealing - #argumentsIn: would contract it >> a bit more (not sure the as strictly needed as we aren’t >> returning a result). And #argsIn: might be a bit too concise. >> >> Like this proposal though. >> >> Tim >> >> On Sun, 29 Mar 2020, at 2:28 PM, Helge Nowak via Esug-list wrote: >> >>> >>> intention revealing trumps brevity >>> >>> Am Sonntag, 29. März 2020, 00:58:49 MEZ hat Christian Haider >>> <christian.haider@smalltalked-visuals.com >>> <mailto:christian.haider@smalltalked-visuals.com>> Folgendes >>> geschrieben: >>> >>> >>> Not bad! Captures the semantics nicely. >>> >>> Just a bit long >>> >>> >>> >>> >>> *Von:* Esug-list <esug-list-bounces@lists.esug.org >>> <mailto:esug-list-bounces@lists.esug.org>> *Im Auftrag von *Bert >>> Freudenberg >>> *Gesendet:* Sonntag, 29. März 2020 00:12 >>> *An:* esug-list@lists.esug.org <mailto:esug-list@lists.esug.org> >>> *Betreff:* Re: [Esug-list] destructDo: >>> >>> >>> >>> >>> On Sat, Mar 28, 2020 at 11:27 AM Pape, Tobias >>> <Tobias.Pape@hpi.de <mailto:Tobias.Pape@hpi.de>> wrote: >>> >>> >>> What about >>> >>> ^stringsOfLine asComponentsIn: [:ignore :string2 >>> :string3 :string4 | >>> self produktbereich: string2 profitcenter: >>> string3 bezeichnung: string4] >>> >>> ? >>> >>> Best regards >>> -Tobias >>> >>> >>> >>> >>> Agreed, "...In:" is better than "...Do" because the latter >>> implies iteration in Smalltalk. (never mind ifNotNilDo: which >>> broke the convention) >>> >>> >>> >>> And since block arguments are called "arguments" how about >>> >>> >>> >>> aCollection asArgumentsIn: [:arg1 :arg2 :arg3 | ... ] >>> >>> >>> >>> - Bert - >>> >>> >>> >>> PS: Happy Covid Bike Shedding ;) >>> >>> _______________________________________________ >>> Esug-list mailing list >>> Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> >>> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >>> _______________________________________________ >>> Esug-list mailing list >>> Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> >>> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >>> >> >> _______________________________________________ >> Esug-list mailing list >> Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> >> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >> >> >>_______________________________________________ >>Esug-list mailing list >>Esug-list@lists.esug.org >>http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >> >> > >------------------------------------------------------------------------ > >_______________________________________________ >Esug-list mailing list >Esug-list@lists.esug.org >http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org > >
RH
Reinout Heeck
Mon, Mar 30, 2020 8:55 AM

For stuffing stuff towards a block we can take inspiration from the
#inject:into: selector.

        'how did that go?' into: [:firstCharacter :secondCharacter|
self halt ]

R

For stuffing stuff towards a block we can take inspiration from the #inject:into: selector.         'how did that go?' into: [:firstCharacter :secondCharacter| self halt ] R -