I need to find information about reading a single character from an input stream in GNU Prolog. Specifically, identify the predicate for this, its template, and the exact error (type and object) that occurs if the stream isn't open. Provide all three pieces of information.
Navigate to the GNU Prolog Manual's main page (gprolog.org/manual/gprolog.html). Locate and navigate to Section 8.12 'Character input/output' using the table of contents or available navigation links. Find the documentation for the `get_char/1` predicate within Section 8.12. Identify and extract the template for `get_char/1`. Identify and extract the error information for `get_char/1` when the stream is not associated with an open stream, including the ErrorTerm and Object type. State the predicate, its template, and the specific error details.
The identified predicate for reading a single character is `get_char/1`. The template for `get_char/1` is stated as `get_char(?char_code)`. The error occurring if the stream is not associated with an open stream is identified as `existence_error`. The `Object` type for this `existence_error` is specified as `stream`.