

directory_file_path/3 behaves badly
Examples for mode (+Directory,+File,-Path)
:
These are ok:
?- directory_file_path("/alpha/beta","somefile",P). P = '/alpha/beta/somefile'. ?- directory_file_path("alpha/beta","somefile",P). P = 'alpha/beta/somefile'. ?- directory_file_path("alpha////beta","somefile",P). P = 'alpha////beta/somefile'. ?- directory_file_path("alpha/beta/","somefile",P). P = 'alpha/beta/somefile'.
But this is ugly:
?- directory_file_path("alpha/beta/","/somefile",P). P = "/somefile".
It should just concatenate the atoms.
Similarly:
?- directory_file_path("alpha/beta/","/somefile/someotherfile",P). P = "/somefile/someotherfile".
More edge cases:
?- directory_file_path("/","/somefile",P). P = "/somefile". ?- directory_file_path("","/somefile",P). P = "/somefile".
This is ugly:
?- directory_file_path("","somefile",P). P = '/somefile'.
Because here it's different:
?- directory_file_path("foo","somefile",P). P = 'foo/somefile'. ?- directory_file_path("foo/bar","somefile",P). P = 'foo/bar/somefile'.