Hi Eliot, On Fri, Mar 30, 2018 at 12:57:25PM -0700, Eliot Miranda wrote: > Hi Alistair, > > > On Mar 30, 2018, at 7:57 AM, Alistair Grant <[email protected]> wrote: > > > > Hi Damien, > > > >> On 30 March 2018 at 14:59, Damien Pollet <[email protected]> wrote: > >> The class Path from FileSystem is documented as private??? but it should be > >> public, shouldn't it? > >> > >> First hint is that it's named with a public name: (Path not > >> FileSystemPath). > >> > >> Then, consider the following use-case : if you have a file name in some > >> config file (.ini, .toml???) then that's really a Path, not a resolved > >> FileReference. > > > > The file name is implicitly attached to a file system, so it is > > resolved (using Pharo terminology). If you pass the path to a > > program, e.g. an editor, it has enough information to be able to open > > the file. > > > > In Unix, everything is mounted on the root file system, so there's no > > need to specify a file system. Pharo's model allows for multiple file > > systems, e.g. the disk, and multiple memory and zip file systems. > > > > Path's by themselves don't provide much functionality - you can't > > actually access the file or directory you think is represented by the > > path; you have to know which file system the path is attached to. > > > > It's the FileReference that associates the path and the file system, > > and provides all the public interface. > > But isn't the notion of a default file system (the root of the file > system on the current machine, or the current image directory) so > clear and natural that there be a public API that, by default, > resolves past he against all that root? It seems to me that the > benefit of the convenience here is large.
Right, #asFileReference does just that, e.g.: '/home/alistair/.bashrc' asFileReference and 'Pharo.image' asFileReference will point to the expected places (in the second case, assuming that Pharo.image is in your current working directory). Cheers, Alistair > > > > HTH, > > Alistair > > Eliot, > _,,,^..^,,,_ (phone) > > > > > > >> I'm not talking about RelativePath and AbsolutePath, those can be hidden > >> away since Path provides the factory and DSL methods. IMHO they should > >> still > >> be renamed to a more private name. > >> > >> -- > >> Damien Pollet > >> type less, do more [ | ] http://people.untyped.org/damien.pollet > > >
