Following is a list of argument types that are defined in terms of the simple argument types. This is a formal description of the types/domains used in the Arguments sections of the reference pages for the built-ins. The rules are given in BNF (Backus-Naur form).
| db_reference | ::= term {with principal functor '$ref'/2}
|
| stream_object | ::= term {as defined in ref-iou-sfh-sob}
|
| term | ::= {any Prolog term}
|
| list of Type | ::= [] | [Type|list of Type]
|
| one of [Element|Rest] | ::= Element | one of Rest
|
| arity | ::= {an integer X in the range 0..255}
|
| byte | ::= {an integer X in the range 0..255}
|
| char | ::= {an atom consisting of a single character}
|
| chars | ::= list of char
|
| code | ::= {an integer X > 0}
|
| codes | ::= list of code
|
| pair | ::= term-term
|
| simple_pred_spec | ::= atom/arity
|
| pred_spec | ::= simple_pred_spec | atom:pred_spec
|
| pred_spec_forest | ::= [] | pred_spec
|
| [pred_spec_forest|pred_spec_forest]
| |
| pred_spec_forest,pred_spec_forest
| |
| pred_spec_tree | ::= pred_spec | list of pred_spec
|
| foreign_spec | ::= callable {all arguments being foreign_arg}
|
| foreign_arg | ::= +interf_arg_type | -interf_arg_type | [-interf_arg_type]
|
| interf_arg_type | ::= integer | float | atom
|
| term | codes | string | address | address(atom)
| |
| {see the description in Conversions between Prolog Arguments and C Types}
| |
| file_spec | ::= atom | atom(file_spec)
|
| expr | ::= {everything that is accepted as second argument to is/2;
|
| see the description of arithmetic expressions in ref-ari-aex.}
|