[isabelle-dev] NEWS

ballarin at mailbroy.informatik.tu-muenchen.de ballarin at mailbroy.informatik.tu-muenchen.de
Tue Dec 30 16:49:16 CET 2008

* Complete re-implementation of locales.  INCOMPATIBILITY.
The most important changes are listed below.  See documentation
(forthcoming) and tutorial (also forthcoming) for details.

- In locale expressions, instantiation replaces renaming.  Parameters
must be declared in a for clause.  To aid compatibility with previous
parameter inheritance, in locale declarations, parameters that are not
'touched' (instantiation position "_" or omitted) are implicitly added
with their syntax at the beginning of the for clause.

- Syntax from abbreviations and definitions in locales is available in
locale expressions and context elements.  The latter is particularly
useful in locale declarations.

- More flexible mechanisms to qualify names generated by locale
expressions.  Qualifiers (prefixes) may be specified in locale
expressions.  Available are normal qualifiers (syntax "name:") and strict
qualifiers (syntax "name!:").  The latter must occur in name references
and are useful to avoid accidental hiding of names, the former are
optional.  Qualifiers derived from the parameter names of a locale are no
longer generated.

- "sublocale l < e" replaces "interpretation l < e".  The instantiation
clause in "interpretation" and "interpret" (square brackets) is no
longer available.  Use locale expressions.

- When converting proof scripts, be sure to replace qualifiers in
"interpretation" and "interpret" by strict qualifiers.  Qualifiers in
locale expressions range over a single locale instance only.

More information about the isabelle-dev mailing list