Lexical structure

The input is divided into a sequence of symbols of the following kinds:

Symbols may be separated by white-space and comments. A comment is introduced by `!' and continues to the end of the line.

The following identifiers are reserved by the language:

      ++ --- : <= == => |
      abstype data dec display else edit exit if in
      infix infixr lambda let letrec private save then
      type typevar uses where whererec write
The following identifers are also reserved, for compatability with other implementations:
      end module nonop pubconst pubfun pubtype
Also, the following synonyms are available: \ for lambda, use for uses and infixrl for infixr.



Ross Paterson <ross@soi.city.ac.uk>