>> Do you have commit access? What's your real name?
I prefer to remain pseudonymous, and I don't have commit access.
Yeah... they're not terribly useful - more or less there for the sake of being there. Batteries included and all that
...but now I've got a more useful idea for a function wrapper
around predicate functions to make them a little more functionally inclined. Something like.......
@predicate
def hasnext(x): return hasattr(x, "next")
@predicate
def hasiter(x): return hasattr(x, "__iter__")
isiterable = hasnext or hasiter #or/and/not operators construct new predicate functions
isEmptyIterable = isiterable and not predicate(bool)
isgenerator = isiterable and (lambda x: hasattr(x, "send") and hasattr(x, "throw"))
filter(isgenerator or callable, SomeSequence)
--
"What's money? A man is a success if he gets up in the morning and goes to bed at night and in between does what he wants to do." ~ Bob Dylan