On Wed, 2006-01-25 at 22:30 -0600, Ian Bicking wrote: > IMHO the hierarchy problem is a misdesign of strings; iterating over > strings is usually a bug, not a deliberately used feature. And it's a > particularly annoying bug, leading to weird results.
Agreed. I've written iteration code that has to special case basestrings before and that's particularly ugly. > In this case a Path is not a container for characters. Strings aren't > containers for characters either -- apparently they are containers for > smaller strings, which in turn contain themselves. Paths might be seen > as a container for other subpaths, but I think everyone agrees this is > too ambigous and implicit. So there's nothing sensible that __iter__ > can do, and having it do something not sensible (just to fill it in with > something) does not seem very Pythonic. > > join is also a funny method that most people wouldn't expect on strings > anyway. But putting that aside, the real issue I see is that it is a > miscognate for os.path.join, to which it has no relation. And I can't > possibly imagine what you'd use it for in the context of a path. Good points, but to me that argues against having any inheritance relationship between strings and Paths rather than having such a relationship and disabling certain methods. Thomas's post seemed more on-target for me and I'd like to see that idea fleshed out in more detail. If it's proved to be an impossible (or merely an extremely infeasible) task, then I think we can discuss the shortcut of deriving from strings. It just seems gross so I'd like to be sure there's no better way. -Barry
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com