Notes

  1. The expression of precedence 1000 (i.e. belonging to syntactic category term(1000)), which is written
              X,Y
              

    denotes the term ','(X,Y) in standard syntax.

  2. The parenthesized expression (belonging to syntactic category term(0))
              (X)
              

    denotes simply the term X.

  3. The curly-bracketed expression (belonging to syntactic category term(0))
              {X}
              

    denotes the term {}(X) in standard syntax.

  4. Note that, for example, -3 denotes a number whereas -(3) denotes a compound term that has - /1 as its principal functor.
  5. The character " within a string must be written duplicated. Similarly for the character ' within a quoted atom and for the character ` in backquoted atom (iso execution mode only).
  6. Unless character escapes have been switched off, backslashes in strings, quoted atoms, and integers written in 0' notation denote escape sequences.
  7. A name token declared to be a prefix operator will be treated as an atom only if no term-read-in can be read by treating it as a prefix operator.
  8. A name token declared to be both an infix and a postfix operator will be treated as a postfix operator only if no term-read-in can be read by treating it as an infix operator.
  9. The layout following the full stop is considered part of it, and so it is consumed by e.g. read/[1,2]) in sicstus execution mode, while in iso execution mode the layout remains in the input stream.