<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body>A folder structure is a tree. A graph if you include sylinks. A path is a path in the graph and thas is why it is called a path. It is a set of links. Eack link is identified by its name and its parent. <div><br><br><span style="font-size:87%">From my Android phone on T-Mobile. The first nationwide 4G network.</span></div></body></html><br><br>

-------- Original message --------
Subject: Re: [Python-ideas] PEP 428 - object-oriented filesystem paths 
From: Nick Coghlan <ncoghlan@gmail.com> 
To: steve@pearwood.info 
CC: python-ideas@python.org 

<br><br><body><div style="word-break:break-all;">On Mon, Oct 8, 2012 at 11:53 PM, Steven D'Aprano <steve@pearwood.info> wrote:<br>>> "p.subpath('foo', 'bar')" looks like executable<br>>> pseudocode for creating a new path based on existing one to me,<br>><br>><br>> That notation quite possibly goes beyond unintuitive to downright<br>> perverse. You are using a method called "subpath" to generate a<br>> *superpath* (deeper, longer path which includes p as a part).<br><br>Huh? It's a tree structure. A subpath lives inside its parent path,<br>just as subnodes are children of their parent node. Agreed it's not a<br>widely used term though - it's a generalisation of subdirectory to<br>also cover file paths.<br><br>They're certainly not "super" anything, any more than a subdirectory<br>is really a superdirectory (which is what you appear to be arguing).<br><br>> Okay, I'll grant you that we'll probably never get a consensus on<br>> operators + versus / but I really don't understand why you think that<br>> p.join is unsuitable for a method which joins path components.<br><br>"p.join(r)" has exactly the same problem as "p + r": pass in a string<br>to a function expecting a path object and you get data corruption<br>instead of an exception. When you want *different* semantics, then<br>ducktyping is your enemy and it's necessary to take steps to avoid it,<br>include changing method names and avoiding some operators.<br><br>Cheers,<br>Nick.<br><br>-- <br>Nick Coghlan   |   ncoghlan@gmail.com   |   Brisbane, Australia<br>_______________________________________________<br>Python-ideas mailing list<br>Python-ideas@python.org<br>http://mail.python.org/mailman/listinfo/python-ideas<br></div></body>