The following table summarises the correspondence between the short syntax forms (supported by the parser and the term writer) and their corresponding canonical forms. Usually, the programmer does not need to be concerned about the canonical represention because the short syntax is accepted by the parser and reproduced by the term writer (unless canonical writing is explicitly requested).
Known as Short Canonical Active ------------------------------------------------------------------------ List [A|B] .(A,B) always Curly brackets {A} {}(A) always Subscripted variable X[...] subscript(X, [...]) default Subscripted struct S[...] subscript(S, [...]) default Declared structure f{...} with(f, [...]) default Attributed variable X{...} 'with attributes'(X, [...]) default Variable functor X(...) apply(X, [...]) optional
Here A,B stands for arbitrary terms, X for a variable, S for a compound term in canoncial syntax, f for an arbitrary functor, and the ellipsis for a comma-separated sequence of arbitrary terms.