Friday, January 16, 2009

IEnumerable<Dimecast> Expect(this IEnumerable<Dimecast> source, Func<Dimecast, bool> predicate); ?

Dimecast's slogan says:

Dimcasts.Expect(x => x.ToLearn()).Something.New()

So ... there is an IEnumerable of Dimecasts. Not all of the Dimecasts can do 'ToLearn'. Therefore they want to whittle away the ones that can't. The new subset then has a 'Something', and that 'Something' does 'New'? Is that what they meant to say?

Do the Dimecasts learn? Shouldn't something consume the Dimecasts and then learn from them? What are the side-effects of calling 'ToLearn' on a Dimecast? What if calling ToLearn on the individual leaves the called IEnumerable of Dimecasts in an inconsistant state?

Or maybe they mean that the big family of Dimecasts expects each one if its members to go out there and 'ToLearn'. When they do that and then all come home, the family can get together and new up a big something. What do they do with the new Something? They go to all this trouble to new up a Something, but then they drop the pointer to it. Is that intentional? Does the new Something not have a point?