
But the key point is: the function that uses a path string also knows which separator it intended to use in its notation. Storing the separator as a property of the tree goes against encapsulation.
Additionally, it is not very feasible. You have to remember that tree is a recursive structure. How do we make sure that all nodes contain the same default separator?
I would just pick a default separator. I don't care which choice is made, but '/' makes sense.
I think any choice of default separator has drawbacks. For example '/' is commonly found in filesystem paths or web addresses, so it would complicate life for quite many users. I could pick some really obscure character, like back-apostrophe or ^, but that would render paths quite unreadable. So I decided to stick to a dot. Marcin