Earlier quoted context omitted.
What features would you like to see in a Unix-like shell that are not available?
I think passing around real objects instead of character strings is cool. It's less brittle, and you don't have to have an ad-hoc and flawed parser at every step.
def name(text):
return lambda file: file.name.find(text) > -1
ls().filter(name('.txt'))
but less clunky?