On Wed, 3 Mar 2004, Andrew Pimlott wrote:

> As an immediate reaction from someone who hasn't used any of the
> Set/Span modules, I don't like that last part.  One, it's too easy for
> someone who only skims the documentation to miss it, and end up with a
> very subtle bug.  Two, lots of functions return undef, so people are
> going to end up with ugly code like
>
>     $set->iterate( sub { myfunc($_); 1 } );
>
> just to avoid the effect.  I think if you want to be able to modify the
> set, you should provide different methods for that.  ->map and ->grep
> come to mind.

I agree, this is an awkward API and it's highly prone to weird bugs, since
so many things can return undef.

I kind of like the idea of calling this method map myself, since what it
would do is so similar to the Perl built-in.

> I notice that this method with the same undef semantics already exists
> in Set, however it is marked experimental, so perhaps it can still
> change.

It probably should.  This is just going to bite way too many people.


-dave

/*=======================
House Absolute Consulting
www.houseabsolute.com
=======================*/

Reply via email to