Stelian, i still think that it's not the right way to deal with directories...
i repeatedly struggle due to this behavior: (iolib.pathnames:file-path-directory (iolib.pathnames:file-path "/tmp/")) => (:ROOT)
i understand how posix behaves, but i think it's unrelated when it comes to file-paths dropping the leading slashes. some posix C calls are not the same as a high-level library storing separate path components internally in an object and providing such high-level functions as merging...
imho, it should be either that: 1) we go the posix way, but then don't define high level functions like file-path-directory
2) do define a file-path-directory, but make it so that: (iolib.pathnames:file-path-directory (iolib.pathnames:file-path "/tmp/")) => (:ROOT "tmp")
although, i'm probably not aware of all the design issues, like e.g. canonicalization...