:- module dir. :- pragma termination_info((dir:directory_separator) = (builtin:out), finite(0, [no]), cannot_loop). :- pragma termination_info(dir:directory_separator((builtin:out)), finite(0, [no]), cannot_loop). :- pragma termination_info(dir:directory_separator((builtin:in)), finite(0, [no]), cannot_loop). :- pragma termination_info((dir:this_directory) = (builtin:out), finite(0, [no]), cannot_loop). :- pragma termination_info(dir:this_directory((builtin:out)), finite(0, [no]), cannot_loop). :- pragma termination_info(dir:this_directory((builtin:in)), finite(0, [no]), cannot_loop). :- pragma termination_info(dir:split_name((builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(dir:basename((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(dir:basename((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(dir:dirname((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(dir:dirname((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(dir:make_path_name((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(dir:'/'((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(dir:split_name_2((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop).