object

# `os`

Portable operating-system access predicates.

Author: Paulo Moura
Version: 1:94:1
Date: 2022-09-30
Compilation flags:
`static, context_switching_calls`
Implements:
`public` osp
Uses:
list
Aliases:
`osp` `absolute_file_name/2` as `expand_path/2`
Remarks:

> - File path expansion: To ensure portability, all file paths are expanded before being handed to the backend Prolog system.

> - Exception terms: Currently, there is no standardization of the exception terms thrown by the different backend Prolog systems.

> - B-Prolog portability: The `wall_time/1` predicate is not supported.

> - JIProlog portability: The `file_permission/2` and `command_line_arguments/1` predicates are not supported.

> - Qu-Prolog portability: The `directory_files/2` predicate is not supported.

> - Quintus Prolog: The `pid/1` and `shell/2` predicates are not supported.

> - Scryer Prolog: The `file_permission/2`, `cpu_time/1`, and `wall_time/1` predicates are not supported.

> - XSB portability: The `command_line_arguments/1` predicate is not supported.

Inherited public predicates:
absolute_file_name/2 change_directory/1 command_line_arguments/1 copy_file/2 cpu_time/1 date_time/7 decompose_file_name/3 decompose_file_name/4 delete_directory/1 delete_file/1 directory_exists/1 directory_files/2 directory_files/3 ensure_directory/1 ensure_file/1 environment_variable/2 file_exists/1 file_modification_time/2 file_permission/2 file_size/2 internal_os_path/2 is_absolute_file_name/1 make_directory/1 make_directory_path/1 null_device_path/1 operating_system_type/1 path_concat/3 pid/1 rename_file/2 shell/1 shell/2 sleep/1 temporary_directory/1 time_stamp/1 wall_time/1 working_directory/1

## Public predicates

(no local declarations; see entity ancestors if any)

## Protected predicates

(no local declarations; see entity ancestors if any)

## Private predicates

(no local declarations; see entity ancestors if any)

## Operators

(none)

See also

os_types