next up previous contents
Next: 7 Special Families Up: Elf Users Guide Previous: 5 Term Reconstruction

6 Printing

 

In accordance with the description above, there are two ways of printing terms. One is a reparsable format, in which infix identifers are printed in infix and implicit arguments are omitted. The other shows the internal form in order to allow the user to inspect the result of type reconstruction. Normally, signatures are printed back in internal form after reconstruction, and answer substitutions after a successful solution to a query are printed in reparsable form. Constants c which have been shadowed (and can therefore no longer be parsed) are printed as %c%. A signature file can be printed with Elf server commands

  print_sig <filename>
to see the reparsable version, and
  print_sig_full <filename>
to see all implicit arguments.

Different sorts of variables are printed differently at the moment to aid in their recognition. Existential variables (or logic variables, in the logic programming terminology) are simply printed as free variables, the way they would occur in input. Universal variables (or parameters, in the terminology of logical frameworks) are printed as !u, and a free variable in a clause is printed as ^F. Note that free variables in a clause are interpreted universally, just as in ML. They may not be instantiated by type reconstruction!

There are also a few variables controlling the appearance of the terms as they are printed shown below.

Here printDepth and printLength refer to the printing in external, reparsable form, while iprintDepth and iprintLength refer to the internal, fully explicit form.



fp@cs