The RnRS standards don't specify how the arguments to open-*-file are mapped to the kernel's interpretation of native paths, so something like this is up to the implementation. However, the <https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/PathnamesPython.md> pre-SRFI specifies a fully portable method of manipulating Posix and/or Windows pathnames. It was easy enough to add a current-basepath parameter to use when joining paths. I suppose a convenience path-join* procedure that uses (current-basepath) could be added, but (path-join (current-basepath) path) is easy enough. Note that unlike in Python itself, the path objects are lists of strings rather than opaque records.