Your arguments are convincing to me ;) Stef
On Feb 19, 2010, at 10:22 AM, Henrik Johansen wrote: > Den 18.02.2010 21:55, skrev Stéphane Ducasse: >> henrik >> >> I'm trying to get the pros and cons of cull: >> So am'I correct that this is useful only for situation where we have a block >> and we do not know >> upfront its number of argument: = places where valueWithPossibleArgs: >> Now what cull: offers is that the client does not have to create the array. >> >> I did not check your implementation. >> >> Stef >> > It's useful where you may or may not be interested in all the arguments > passed to a block. > Announcement and Exception handling are good examples. It covers the > same bases as valueWithPossibleArgs:, with the exception it does not > expand with nil args if block has more args than the corresponding > message sent. > > Pros: > - Maps well with to the value:, value:value, etc. protocol > - Your code looks cleaner (imo), since you don't have to put the args in > an array, and it's clear in a heart beat how many args you can choose to > use in your block. > - It's faster than valueWithPossibleArgs, since you don't have to put > your args in an array (Also you avoid a max of 2 extra array creations > as part of the method) > > Cons: > - Functionality is already provided by valueWithPossibleArgs: (That's a > superset though, if you need the exact functionality of cull, your code > will end up even hairier since you need an arg size check before calling > valueWithPossibleArgs:) > - Portability. VW and GNU ST has them, Squeak does not, not sure about > other implementations. > > Cheers, > Henry > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
