doc-src/IsarImplementation/Thy/Prelim.thy
changeset 30281 9ad15d8ed311
parent 30272 2d612824e642
child 30365 790129514c2d
equal deleted inserted replaced
30280:eb98b49ef835 30281:9ad15d8ed311
   680   and class @{text "c"}, respectively.
   680   and class @{text "c"}, respectively.
   681 *}
   681 *}
   682 
   682 
   683 text %mlref {*
   683 text %mlref {*
   684   \begin{mldecls}
   684   \begin{mldecls}
   685   @{index_ML NameSpace.base: "string -> string"} \\
   685   @{index_ML NameSpace.base_name: "string -> string"} \\
   686   @{index_ML NameSpace.qualifier: "string -> string"} \\
   686   @{index_ML NameSpace.qualifier: "string -> string"} \\
   687   @{index_ML NameSpace.append: "string -> string -> string"} \\
   687   @{index_ML NameSpace.append: "string -> string -> string"} \\
   688   @{index_ML NameSpace.implode: "string list -> string"} \\
   688   @{index_ML NameSpace.implode: "string list -> string"} \\
   689   @{index_ML NameSpace.explode: "string -> string list"} \\
   689   @{index_ML NameSpace.explode: "string -> string list"} \\
   690   \end{mldecls}
   690   \end{mldecls}
   696   \end{mldecls}
   696   \end{mldecls}
   697   \begin{mldecls}
   697   \begin{mldecls}
   698   @{index_ML_type NameSpace.T} \\
   698   @{index_ML_type NameSpace.T} \\
   699   @{index_ML NameSpace.empty: NameSpace.T} \\
   699   @{index_ML NameSpace.empty: NameSpace.T} \\
   700   @{index_ML NameSpace.merge: "NameSpace.T * NameSpace.T -> NameSpace.T"} \\
   700   @{index_ML NameSpace.merge: "NameSpace.T * NameSpace.T -> NameSpace.T"} \\
   701   @{index_ML NameSpace.declare: "NameSpace.naming -> binding -> NameSpace.T -> string * NameSpace.T"} \\
   701   @{index_ML NameSpace.declare: "NameSpace.naming -> binding -> NameSpace.T ->
       
   702   string * NameSpace.T"} \\
   702   @{index_ML NameSpace.intern: "NameSpace.T -> string -> string"} \\
   703   @{index_ML NameSpace.intern: "NameSpace.T -> string -> string"} \\
   703   @{index_ML NameSpace.extern: "NameSpace.T -> string -> string"} \\
   704   @{index_ML NameSpace.extern: "NameSpace.T -> string -> string"} \\
   704   \end{mldecls}
   705   \end{mldecls}
   705 
   706 
   706   \begin{description}
   707   \begin{description}
   707 
   708 
   708   \item @{ML NameSpace.base}~@{text "name"} returns the base name of a
   709   \item @{ML NameSpace.base_name}~@{text "name"} returns the base name of a
   709   qualified name.
   710   qualified name.
   710 
   711 
   711   \item @{ML NameSpace.qualifier}~@{text "name"} returns the qualifier
   712   \item @{ML NameSpace.qualifier}~@{text "name"} returns the qualifier
   712   of a qualified name.
   713   of a qualified name.
   713 
   714 
   726   consisting of the theory name.
   727   consisting of the theory name.
   727 
   728 
   728   \item @{ML NameSpace.add_path}~@{text "path naming"} augments the
   729   \item @{ML NameSpace.add_path}~@{text "path naming"} augments the
   729   naming policy by extending its path component.
   730   naming policy by extending its path component.
   730 
   731 
   731   \item @{ML NameSpace.full_name}@{text "naming binding"} turns a name
   732   \item @{ML NameSpace.full_name}~@{text "naming binding"} turns a
   732   binding (usually a basic name) into the fully qualified
   733   name binding (usually a basic name) into the fully qualified
   733   internal name, according to the given naming policy.
   734   internal name, according to the given naming policy.
   734 
   735 
   735   \item @{ML_type NameSpace.T} represents name spaces.
   736   \item @{ML_type NameSpace.T} represents name spaces.
   736 
   737 
   737   \item @{ML NameSpace.empty} and @{ML NameSpace.merge}~@{text
   738   \item @{ML NameSpace.empty} and @{ML NameSpace.merge}~@{text
   753   @{ML_type Proof.context}).
   754   @{ML_type Proof.context}).
   754 
   755 
   755   \item @{ML NameSpace.extern}~@{text "space name"} externalizes a
   756   \item @{ML NameSpace.extern}~@{text "space name"} externalizes a
   756   (fully qualified) internal name.
   757   (fully qualified) internal name.
   757 
   758 
   758   This operation is mostly for printing!  Note unqualified names are
   759   This operation is mostly for printing!  User code should not rely on
   759   produced via @{ML NameSpace.base}.
   760   the precise result too much.
   760 
   761 
   761   \end{description}
   762   \end{description}
   762 *}
   763 *}
   763 
   764 
   764 end
   765 end