[isabelle-dev] NEWS: limited name space accesses

Makarius makarius at sketis.net
Tue Apr 7 16:28:04 CEST 2015


On Tue, 7 Apr 2015, Tobias Nipkow wrote:

>
> On 07/04/2015 14:37, Christian Sternagel wrote:
>>    (b) qualified
>
> That gets my vote because it expresses clearly the description Makarius 
> gave: "name space entry that is only accessible by qualified names"

It is definitely good to collect keyword candidates from other well-known 
languages.

I had "qualified" on my list of possibilities at first, but was hesitating 
to use it, because there is yet another concept (c) that has no Isar 
notation so far.  It is called Binding.qualified in ML and could solve 
problems like 
https://lists.cam.ac.uk/mailman/htdig/cl-isabelle-users/2015-February/msg00038.html 
as follows:

   locale test
   begin

     lemma foo (qualified bar!): ...

   end


In principle there could be a dual-use of 'qualified' as Binding.qualified 
(with argument) and Name_Space.restricted (without argument), or rather 
Name_Space.qualified after another "tuned signature" change.

   qualified lemma a: ...

   lemma b (qualified c): ...
   lemma e (qualified f!): ...

This does not work in outer syntax though, since the new command prefix 
category (keywords that may occur before a command) needs to be disjoint 
from other minor keywords in the command body.  (After the dismissal of 
Proof General, command spans have become a bit more flexible, but cannot 
be stretched arbitrarily.)


One could try to invent another notation for "x (qualified y!)" above. 
Note that the "!" is the mandatory flag (like in locale interpretation 
syntax).  We don't have notation for such flags within qualified names 
themselves.  Otherwise one could use "c.b" directly.

A real danger in the whole affair is that we need to proceed towards the 
Isabelle2015 release very soon, i.e. this week.


As a summary, here is the collection of nice keywords so far, without any 
assignment of meanings yet:

   private
   local
   hidden
   qualified

Anything else?


 	Makarius



More information about the isabelle-dev mailing list