Path module dependency on host OS type

Currently many of the functions in the Path module do depend on the OS type the system is running on. I’m currently working on a filesystem abstraction and there it becomes quite apparent that on my unix system Path.type("D:/usr/local/bin") does return :relative, while it’s an :absolute path on a windows based system. The system is meant to work the same though for windows and unix based deployments and the paths/files handled aren’t even stored on the host machine for most adapters.

I do feel it would make sense to push this implicit dependency on the host os to the api level, so the module can be used to handle paths for other OS’s the same way it can for the OS the system currently runs on.

I’m wondering how others (especially the core team) think about this. Currently the dependency essentially means I can’t use most of the Path module.

Can you expand on your use case? F.ex. why is it important what does Path.type return on the host OS? Why are Windows paths stored on a UNIX host?

And, what kind of a file system abstraction?

As soon as you‘re not dealing with paths for your host system, but with paths for external systems you have to deal with path conventions possibly different to your host OS.

I‘m working on a system, which abstracts access to various cloud providers (S3, Dropbox, …), file transfer protocols (SFTP, FTP) or other adapters (lokal fs, in memory fs). To make this sane to deal with each instance is mounted at some root path and the paths of individual files accepted by the api shall be relative and in unix format no matter the host OS or adapter.