Input/Output is handled in a special way in Funky.
I/O-functions must be called with so-called I/O-access rights.
To call a function with I/O-access rights you
To hand on I/O-access rights a function is called with a "!"-suffix.
| Input-Output Events |
| POSIX |
| Input-Output Task Manager |
| std::ENCODING | used as an option key to specify a text encoding |
| std::LATIN1 | used as a value for specifying a text encoding |
| std::PROCESS_JOINED | used to tag "process joined" events |
| std::READ | used to tag "read" events |
| std::READ_ERROR | used to tag "read error" events |
| std::SIGNAL | used to tag "signal" events |
| std::UTF8 | used as a value for specifying a text encoding |
| std::WRITE_COMPLETED | used to tag "write completed" events |
| std::WRITE_ERROR | used to tag "write error" events |
| std::WRITE_PENDING | used to tag "write pending" events |
| std::access_time_of | timestamp of last file access |
| std::call | calls an external program |
| std::cancel_write | cancels a write operation |
| std::directory | returns a list of directory entries |
| std::edump | print an object dump to stderr |
| std::environment | a table holding all environment variables |
| std::eprint | writes its arguments (as a single string) to the error output channel |
| std::eprint_string | writes its argument (a single string) to the error output channel |
| std::eprintln | writes its arguments and a trailing newline to the error output channel |
| std::exec | replaces the current process with the given command |
| std::exit | terminates the current program or task |
| std::file_exists | checks if the specified file exists |
| std::flush | flushes all buffers associated with the resource |
| std::get_environment | constructs a table holding all environment variables |
| std::get_events | gets one or more events |
| std::get_from_until | reads text from the specified input channel until a specific sentinel is encountered |
| std::get_until | reads text from the standard input channel until a specific sentinel is encountered |
| std::getln | reads a text line from the standard input channel |
| std::getln_from | reads a text line from the specified input channel |
| std::is_a_directory | returns true if the file is a directory |
| std::join_process | joins a process |
| std::load | load data |
| std::modification_time_of | timestamp of last file modification |
| std::print | writes its arguments (as a single string) to the standard output channel |
| std::print_string | writes its argument (a single string) to the standard output channel |
| std::print_string_to | writes its argument (a single string) to the specified output channel |
| std::print_to | prints its arguments to the specified file descriptor |
| std::println | writes its arguments and a trailing newline to the standard output channel |
| std::println_to | prints its arguments to the specified output channel and adds a newline |
| std::read | a low level read function |
| std::read_all_from | reads all data from the specified input channel |
| std::read_from | reads data from the specified input channel |
| std::read_from_until | reads data from the specified input channel until a specific sentinel is encountered |
| std::readln_from | reads a line from the specified input channel |
| std::save | save data |
| std::sleep | sleeps for the specified number of seconds |
| std::start_catching_signals | starts catching signals |
| std::start_injecting_window_change_events | starts receiving window change events |
| std::start_reading_from | registers a read request for a file descriptor |
| std::status_change_time_of | timestamp of last file status change |
| std::stop_catching_signals | stops catching signals |
| std::stop_injecting_window_change_events | stops receiving window change events |
| std::stop_reading_from | unregisters a read request for a file descriptor |
| std::terminate | terminates the current process |
| std::write | a low level write function |
| std::write_string_to | writes its argument (a single string) to the specified output channel |
| std::write_to | writes its arguments to the specified output channel |
| std::writeln_to | writes its arguments to the specified output channel and adds a newline |
| std_types::event | the prototype for all events |
| std_types::file_descriptor/std::load | loads data from a *file descriptor* |
| std_types::io | the prototype for all input-output objects |
| std_types::io/std::cancel_write | cancels a write operation |
| std_types::io/std::get_events | gets one or more events |
| std_types::io/std::is_empty | checks if the input-output object contains any event registrations |
| std_types::io/std::is_not_empty | checks if the input-output object contains any event registrations |
| std_types::io/std::join_process | joins a process |
| std_types::io/std::start_catching_signals | starts catching signals |
| std_types::io/std::start_injecting_window_change_events | starts receiving window change events |
| std_types::io/std::start_reading_from | registers a read reqest for a file descriptor |
| std_types::io/std::stop_catching_signals | stops catching signals |
| std_types::io/std::stop_injecting_window_change_events | stops receiving window change events |
| std_types::io/std::stop_reading_from | unregisters a read request for a file descriptor |
| std_types::io/std::write | writes data to a stream |
| std_types::positive_integer/std::exit | terminates the process and returns the specified exit-code |
| std_types::stat/std::access_time_of | returns the access time of the specified file |
| std_types::stat/std::is_a_directory | returns true if the file is a directory |
| std_types::stat/std::modification_time_of | returns the modification time of the specified file |
| std_types::stat/std::status_change_time_of | returns the status change time of the specified file |
| std_types::string/std::load | loads data from a file |
| std_types::string/std::save | saves data to the specified file |