History log of /seL4-l4v-master/l4v/isabelle/src/Pure/General/name_space.ML
Revision Date Author Comments
# e1532314 09-Dec-2019 wenzelm <none@none>

clarified signature: store full theory name;


# 438cc573 20-Aug-2019 wenzelm <none@none>

clarified signature;


# 0e5c06bc 03-Jan-2019 wenzelm <none@none>

clarified signature: more types;


# bf527b2e 12-Nov-2018 wenzelm <none@none>

clarified signature;


# 10b7534b 25-Oct-2018 wenzelm <none@none>

proper completion for @{named_theorems};


# ed5481c5 13-May-2018 wenzelm <none@none>

more operations;


# 14ae2816 03-Jul-2017 wenzelm <none@none>

complete on long name components as well;


# 31fe3151 03-Jul-2017 wenzelm <none@none>

tuned;


# 401e509b 13-Dec-2016 wenzelm <none@none>

more symbols;


# e0277965 18-Oct-2016 wenzelm <none@none>

replaced inefficient valid_accesses by is_valid_access, based on stored input accesses: e.g. relevant for Proof_Context.update_thms;


# 0d283b1c 06-Jun-2016 wenzelm <none@none>

less redundant exploration of full name space;


# 86251a26 06-Jun-2016 wenzelm <none@none>

tuned;


# ef845594 17-Apr-2016 wenzelm <none@none>

clarified signature;


# b16b8884 14-Apr-2016 wenzelm <none@none>

highlighting of entity def/ref positions wrt. cursor;


# 067b7add 13-Apr-2016 wenzelm <none@none>

more completions, independently on accidental external form (e.g. "Map.empty" with its redundant prefix);


# e05fcdb5 24-Jan-2016 wenzelm <none@none>

tuned signature;
tuned;


# 1971a62a 13-Aug-2015 wenzelm <none@none>

tuned signature, in accordance to sortBy in Scala;


# 2e36460d 13-May-2015 wenzelm <none@none>

clarified alias: proper update of new accesses instead of conservative insert (via merge), otherwise "local.foo" could take precedence over "foo";


# ed3852ad 13-May-2015 wenzelm <none@none>

more permissive operation: allow to print undeclared name space entries, e.g. print_simpset with "record" simproc;


# 886ea47b 09-Apr-2015 wenzelm <none@none>

clarified keyword 'qualified' in accordance to a similar keyword from Haskell (despite unrelated Binding.qualified in Isabelle/ML);


# 078f3395 06-Apr-2015 wenzelm <none@none>

support for 'restricted' modifier: only qualified accesses outside the local scope;


# 6395e73c 04-Apr-2015 wenzelm <none@none>

tuned message;


# cc8cd554 04-Apr-2015 wenzelm <none@none>

support private scope for individual local theory commands;
tuned signature;


# 94e11df0 03-Apr-2015 wenzelm <none@none>

more uniform "verbose" option to print name space;


# 68b951d0 02-Apr-2015 wenzelm <none@none>

export for informative purposes;


# 2d229f57 01-Apr-2015 wenzelm <none@none>

tuned message;


# b19fa3e5 01-Apr-2015 wenzelm <none@none>

tuned signature;


# 55e85e2e 31-Mar-2015 wenzelm <none@none>

more visibility flags on background naming;


# e082c6b0 31-Mar-2015 wenzelm <none@none>

support for explicit scope of private entries;


# 4b1e55e7 31-Mar-2015 wenzelm <none@none>

subtle change of long-standing name space policy: unknown entries are treated as hidden, consequently "private" is understood in the strict sense;


# 70c854b1 31-Mar-2015 wenzelm <none@none>

tuned signature;


# a7cea63f 31-Mar-2015 wenzelm <none@none>

tuned signature;


# 0669c10d 31-Mar-2015 wenzelm <none@none>

tuned;


# b4bc336f 31-Mar-2015 wenzelm <none@none>

tuned signature;


# 03b64291 30-Mar-2015 wenzelm <none@none>

tuned signature;


# 5b8baa9f 30-Mar-2015 wenzelm <none@none>

support for strictly private name space entries;
tuned signature;


# aaaf9b1e 25-Mar-2015 wenzelm <none@none>

semantic completion for @{system_option};


# 13ddea91 26-Nov-2014 wenzelm <none@none>

renamed "pairself" to "apply2", in accordance to @{apply 2};


# 9e6897eb 13-Oct-2014 wenzelm <none@none>

tuned signature;


# d7ea3fe5 11-Aug-2014 wenzelm <none@none>

clarified signature: entity serial number is not position id;


# bced7572 06-Apr-2014 wenzelm <none@none>

more source positions;


# 64b59fa7 17-Mar-2014 wenzelm <none@none>

more uniform alias vs. hide: proper check, allow to hide global names as well;


# f8d98dac 15-Mar-2014 wenzelm <none@none>

minor tuning;


# 4fbbffa5 14-Mar-2014 wenzelm <none@none>

clarified completion ordering: prefer local names;


# 8174f95e 15-Mar-2014 wenzelm <none@none>

tuned -- avoid vacuous reports;


# 30cfae9d 13-Mar-2014 wenzelm <none@none>

more frugal recording of changes: join merely requires information from one side;
tuned;


# ad529d3a 11-Mar-2014 wenzelm <none@none>

more efficient local theory operations, by imposing a linear change discipline on the main types/consts tables, in order to speed-up Proof_Context.transfer_syntax required for Local_Theory.raw_theory_result;


# 6f587f58 11-Mar-2014 wenzelm <none@none>

tuned signature;


# 2e37c423 10-Mar-2014 wenzelm <none@none>

tuned messages -- in accordance to Isabelle/Scala;


# 98c7fb02 10-Mar-2014 wenzelm <none@none>

abstract type Name_Space.table;
clarified pretty_locale_deps: sort strings;
clarified Proof_Context.update_cases: Name_Space.del_table hides name space entry as well;


# 6eed1637 10-Mar-2014 wenzelm <none@none>

more structured order;


# 328243e8 10-Mar-2014 wenzelm <none@none>

more restrictive completion: intern/extern stability;


# b601fba1 07-Mar-2014 wenzelm <none@none>

ignore special names that are treated differently for various sub-languages (main wild-card is identifier "__");


# 6c5c28e7 07-Mar-2014 wenzelm <none@none>

more detailed description of completion items;


# 45d6f128 07-Mar-2014 wenzelm <none@none>

no completion of concealed names;


# 2fb6010b 06-Mar-2014 wenzelm <none@none>

special identifier "__" (i.e. empty name with internal suffix) serves as wild-card for completion;


# 04cfd3f6 06-Mar-2014 wenzelm <none@none>

completion is part of error (not report) and thus not subject to context visibility -- e.g. relevant for 'fixes' in long statements;


# 3866417f 06-Mar-2014 wenzelm <none@none>

more compact Markup.markup_report: message body may consist of multiple elements;


# b7dd9a32 06-Mar-2014 wenzelm <none@none>

reject internal term names outright, and complete consts instead;
more general Name_Space.check_reports;
more compact Markup.markup_report;


# fffed7e5 05-Mar-2014 wenzelm <none@none>

tuned;


# ede9253f 05-Mar-2014 wenzelm <none@none>

more markup for inner syntax class/type names (notably for completion);
explicit reports result without broadcast yet, which is important for brute-force disambiguation;


# 203f487e 02-Mar-2014 wenzelm <none@none>

allow suffix of underscores (usually unused names), to extend completion beyond already recognized entry;


# a44c92d5 02-Mar-2014 wenzelm <none@none>

consider completion report as part of error message -- less stateful, may get handled;


# 8573c777 25-Feb-2014 wenzelm <none@none>

modernized Method.check_name/check_source (with reports) vs. strict Method.the_method (without interning nor reports), e.g. relevant for semantic completion;
removed obsolete Method.Source_i;
proper context for global data;
tuned messages;


# c729cfdc 23-Feb-2014 wenzelm <none@none>

tuned whitespace;


# bcdaf1d7 23-Feb-2014 wenzelm <none@none>

clarified semantic completion: retain kind.full_name as official item name for history;
misc tuning;


# 9faf118d 23-Feb-2014 wenzelm <none@none>

clarified completion names;
tuned signature;


# 5c4e6b56 22-Feb-2014 wenzelm <none@none>

support for completion within the formal context;
tuned signature;


# e6f89f1b 22-Feb-2014 wenzelm <none@none>

tuned signature;


# 717ba133 11-Sep-2013 wenzelm <none@none>

tuned signature;


# 2a906abf 12-May-2013 wenzelm <none@none>

some system options as context-sensitive config options;


# be297fb4 25-Mar-2013 wenzelm <none@none>

tuned print_classes: more standard order, markup, formatting;
uniform printing of minimal supersort/classrel;


# d6c62ebd 30-Nov-2012 wenzelm <none@none>

print formal entities with markup;


# 95d64a2f 25-Nov-2012 wenzelm <none@none>

Isabelle-specific implementation of quasi-abstract markup elements -- back to module arrangement before d83797ef0d2d;


# 8ff39168 10-Oct-2012 wenzelm <none@none>

more position information for hyperlink and placement of message;


# 6c50579f 22-Sep-2012 wenzelm <none@none>

report proper binding positions only -- avoid swamping document model with unspecific information;


# ed610374 14-Sep-2012 wenzelm <none@none>

clarified markup names;


# 871b69bc 29-Aug-2012 wenzelm <none@none>

renamed Position.str_of to Position.here;


# 3db84645 19-Mar-2012 wenzelm <none@none>

clarified Binding.name_of vs Name_Space.base_name vs Variable.check_name (see also 9bd8d4addd6e, 3305f573294e);


# 551b966c 18-Mar-2012 wenzelm <none@none>

maintain generic context naming in structure Name_Space (NB: empty = default_naming, init = local_naming);
more explicit Context.generic for Name_Space.declare/define and derivatives (NB: naming changed after Proof_Context.init_global);
prefer Context.pretty in low-level operations of structure Sorts/Type (defer full Syntax.init_pretty until error output);
simplified signatures;


# 094a9a4a 18-Mar-2012 wenzelm <none@none>

tuned structure;


# 836632a0 11-Mar-2012 wenzelm <none@none>

more direct Name_Space.defined_entry;
tuned Variable.export_inst: avoid keeping full contexts within the gen_fixesT closure (NB: locale infrastructure stores morphisms persistently);


# 99fd6f8e 28-Nov-2011 wenzelm <none@none>

separate module for concrete Isabelle markup;

--HG--
rename : src/Pure/General/markup.ML => src/Pure/General/isabelle_markup.ML
rename : src/Pure/General/markup.scala => src/Pure/General/isabelle_markup.scala


# 93b0bcf3 08-Nov-2011 wenzelm <none@none>

entity markup for bound variables;


# de5f70ff 27-Jun-2011 wenzelm <none@none>

ML antiquotations are managed as theory data, with proper name space and entity markup;
clarified Name_Space.check;


# b973ce85 03-May-2011 wenzelm <none@none>

more conventional naming scheme: names_long, names_short, names_unique;


# 3c548253 27-Apr-2011 wenzelm <none@none>

more informative markup for fixed variables (via name space entry);
uniform markup for undeclared entities;
tuned;


# 093950b8 27-Apr-2011 wenzelm <none@none>

export Name_Space.entry_ord;


# f93e75ad 23-Apr-2011 wenzelm <none@none>

added Name_Space.check/get convenience;


# 2fe7f842 17-Apr-2011 wenzelm <none@none>

tuned signature;


# 13a7cd41 17-Apr-2011 wenzelm <none@none>

report Name_Space.declare/define, relatively to context;
added "global" variants of context-dependent declarations;


# e7602b11 16-Apr-2011 wenzelm <none@none>

Name_Space: proper configuration options long_names, short_names, unique_names instead of former unsynchronized references;


# 0a678b96 11-Apr-2011 wenzelm <none@none>

Name_Space.entry_markup: keep def position as separate properties;
uniform treatment of ML_def/ML_open/ML_struct as entities;
hyperlinks for all entities -- excluding ML_open/ML_struct for now;


# 0b129cfa 27-Mar-2011 wenzelm <none@none>

decode_term: some context-sensitive markup;
more informative Markup.entity and Name_Space.markup_entry;
Markup.const: use "constant" to make it coincide with name space kind;


# 26b387e6 17-Dec-2010 wenzelm <none@none>

extra checking of name bindings for classes, types, consts;
tuned;


# a272f658 09-Mar-2010 wenzelm <none@none>

added Name_Space.alias -- additional accesses for an existing entry;


# f3acdf0b 02-Mar-2010 wenzelm <none@none>

removed unused external_names;


# 15adbf66 18-Feb-2010 wenzelm <none@none>

more systematic treatment of qualified names derived from binding;


# 5c3ce76a 17-Nov-2009 wenzelm <none@none>

uniform new_group/reset_group;
tuned signature;


# 87d5ad1d 28-Oct-2009 wenzelm <none@none>

let naming transform binding beforehand -- covering only the "conceal" flag for now;
export LocalTheory.standard_morphism;


# 8891153f 25-Oct-2009 wenzelm <none@none>

Name_Space.naming: maintain group and theory_name as well;
tuned;


# e096a0ca 24-Oct-2009 wenzelm <none@none>

allow name space entries to be "concealed" -- via binding/naming/local_theory;


# 52584a08 24-Oct-2009 wenzelm <none@none>

maintain position of formal entities via name space;


# aa0f9eb7 24-Oct-2009 wenzelm <none@none>

maintain explicit name space kind;
export Name_Space.the_entry;
tuned messages;


# 713fc456 24-Oct-2009 wenzelm <none@none>

renamed NameSpace to Name_Space -- also to emphasize its subtle change in semantics;


# cb356c82 24-Oct-2009 wenzelm <none@none>

maintain abstract entry, with position, identity etc.;
declare/define: explicit indication of strictness;
merge_tables/join_tables: disallow duplicates based on entry identity;


# 8eb709ab 20-Oct-2009 haftmann <none@none>

curried inter as canonical list operation (beware of argument order)


# 8de45ab6 21-Oct-2009 haftmann <none@none>

dropped redundant gen_ prefix


# 68478f6d 20-Oct-2009 haftmann <none@none>

replaced old_style infixes eq_set, subset, union, inter and variants by generic versions


# b9d789f1 29-Sep-2009 wenzelm <none@none>

explicit indication of Unsynchronized.ref;


# 84528b7a 13-Mar-2009 wenzelm <none@none>

removed obsolete no_base_names naming policy;


# 3b56b3af 12-Mar-2009 wenzelm <none@none>

renamed sticky_prefix to mandatory_path;


# 5b84e331 12-Mar-2009 wenzelm <none@none>

renamed bind to define;
misc tuning and polishing;


# 686ef250 11-Mar-2009 wenzelm <none@none>

eliminated qualified_names naming policy: qualified names are only permitted via explicit Binding.qualify/qualified_name etc. (NB: user-level outer syntax should never do this);


# 9cc4b595 10-Mar-2009 wenzelm <none@none>

add_path: discontinued special meaning of "//", "/", "..";
added root_path, parent_path;


# 5f4d086b 10-Mar-2009 wenzelm <none@none>

just one naming policy based on binding content -- eliminated odd "object-oriented" style;
uniform handling of regular vs. mandatory name prefixes -- add_path and sticky_prefix may be freely intermixed;
misc tuning and cleanup;


# 728ad70b 08-Mar-2009 wenzelm <none@none>

moved basic algebra of long names from structure NameSpace to Long_Name;
tuned signature;


# e3913b9b 04-Mar-2009 wenzelm <none@none>

renamed NameSpace.base to NameSpace.base_name;
renamed NameSpace.map_base to NameSpace.map_base_name;
eliminated alias Sign.base_name = NameSpace.base_name;


# d06c3ca7 05-Mar-2009 wenzelm <none@none>

adapted Binding.dest;
tuned;


# 121e82fb 04-Mar-2009 blanchet <none@none>

Merge.


# 9f562108 03-Mar-2009 wenzelm <none@none>

eliminated internal stamp equality, replaced by bare-metal pointer_eq;
misc tuning and polishing;


# 114b5c6c 03-Mar-2009 wenzelm <none@none>

moved type bstring from name_space.ML to binding.ML -- it is the primitive concept behind bindings;
moved separator/is_qualified from binding.ML back to name_space.ML -- only name space introduces an explicit notation for qualified names;
type binding: maintain explicit qualifier, indepently of base name;
tuned signature of Binding: renamed name_pos to make, renamed base_name to name_of, renamed map_base to map_name, added mandatory flag to qualify, simplified map_prefix (formerly unused);
Binding.str_of: include markup with position properties;
misc tuning;


# 53bba5af 03-Mar-2009 wenzelm <none@none>

moved name space externalization flags back to name_space.ML;
added pure version extern_flags;
do not export internal get_accesses;


# d34e7908 03-Mar-2009 wenzelm <none@none>

reverted change introduced in a7c164e228e1 -- there cannot be a "bug" in a perfectly normal operation on the internal data representation that merely escaped into public by accident (cf. 0a981c596372);


# 4afd62aa 08-Feb-2009 Timothy Bourke <none@none>

Nicer names in FindTheorems.
* Patch NameSpace.get_accesses, contributed by Timothy Bourke:

NameSpace.get_accesses has been patched to fix the following
bug:
theory OverHOL imports Main begin
lemma conjI: "a & b --> b"
by blast

ML {* val ns = PureThy.facts_of @{theory} |> Facts.space_of;
val x1 = NameSpace.get_accesses ns "HOL.conjI";
val x2 = NameSpace.get_accesses ns "OverHOL.conjI"; *}
end

where x1 = ["conjI", "HOL.conjI"] and x2 = ["conjI", "OverHOL.conjI"],
but x1 should be just ["HOL.conjI"].

NameSpace.get_accesses is only used within the NameSpace
structure itself. The two uses have been modified to retain
their original behaviour.

Note that NameSpace.valid_accesses gives different results:
get_accesses ns "HOL.eq_class.eq"
gives ["eq", "eq_class.eq", "HOL.eq_class.eq"]
but,
valid_accesses ns "HOL.eq_class.eq"
gives ["HOL.eq_class.eq", "eq_class.eq", "HOL.eq", "eq"]

* Patch FindTheorems:
Prefer names that are shorter to type in the current context.

* Re-export space_of.


# 5823ee39 21-Jan-2009 haftmann <none@none>

binding is alias for Binding.T


# 7dc25dfa 03-Jan-2009 haftmann <none@none>

separator, is_qualified


# 24cf99d3 05-Dec-2008 haftmann <none@none>

removed Table.extend, NameSpace.extend_table


# 4c569229 05-Dec-2008 haftmann <none@none>

dropped NameSpace.declare_base


# e01ddee4 04-Dec-2008 haftmann <none@none>

cleaned up binding module and related code


# 740587ab 01-Dec-2008 haftmann <none@none>

new Binding module


# 71195bc8 30-Nov-2008 haftmann <none@none>

exported get_accesses (for diagnostic purpose)


# 9780686c 20-Nov-2008 haftmann <none@none>

name spaces and name bindings


# 91675242 13-Jun-2008 wenzelm <none@none>

hide: delete all accesses from extra names -- reduces ambiguity in extern;


# eeecd8fd 15-Apr-2008 wenzelm <none@none>

merge: canonical order;


# 8367afe7 27-Mar-2008 wenzelm <none@none>

tuned comments;
tuned;


# 94f1dbee 29-Oct-2007 wenzelm <none@none>

export is_hidden;


# eebff5d8 17-Oct-2007 wenzelm <none@none>

store external accesses within name space (as produced by naming policy);
improved sticky_prefix: suppress redundant accesses to achieve shorter output;
removed unused interfaces;
replaced accesses' by external_names (depening on naming);


# b1cfc3c5 20-Aug-2007 wenzelm <none@none>

tuned signature;


# 5663679e 09-Jul-2007 wenzelm <none@none>

declare: disallow quote (") in names;


# 99be5308 24-May-2007 haftmann <none@none>

tuned Pure/General/name_space.ML


# 4f14c87d 10-Jan-2007 wenzelm <none@none>

removed NameSpace.split -- use qualifier/base instead;


# 9946f056 30-Dec-2006 wenzelm <none@none>

removed conditional combinator;


# ead9f6b4 27-Dec-2006 haftmann <none@none>

added split


# 1e807976 14-Dec-2006 wenzelm <none@none>

avoid conflict with Alice keywords: renamed pack -> implode, unpack -> explode, any -> many, avoided assert;


# df1131cf 13-Sep-2006 wenzelm <none@none>

renamed NameSpace.drop_base to NameSpace.qualifier;


# a02be417 08-Apr-2006 wenzelm <none@none>

tuned;


# 80d65d44 20-Mar-2006 wenzelm <none@none>

avoid polymorphic equality;


# b4bd268c 15-Feb-2006 wenzelm <none@none>

removed qualified_force_prefix;
added sticky_prefix;


# eec49306 12-Feb-2006 wenzelm <none@none>

low-level tuning of merge: maintain identity of accesses;
simplified TableFun.join;


# b8e476ab 11-Feb-2006 wenzelm <none@none>

removed custom_accesses;
added suffixes_prefixes_split, qualified_force_prefix;


# dbf860ba 06-Feb-2006 wenzelm <none@none>

tuned;


# 67bf68ad 28-Oct-2005 haftmann <none@none>

cleaned up nth, nth_update, nth_map and nth_string functions


# db589537 04-Oct-2005 wenzelm <none@none>

minor tweaks for Poplog/ML;


# 45dec154 15-Sep-2005 wenzelm <none@none>

TableFun/Symtab: curried lookup and update;


# c968ef97 01-Sep-2005 wenzelm <none@none>

curried_lookup/update;


# bfa7e064 28-Aug-2005 wenzelm <none@none>

removed unused dest operation;


# 682858ab 14-Jul-2005 wenzelm <none@none>

added dest_table;


# 33f577ce 17-Jun-2005 wenzelm <none@none>

Symtab.fold;


# e209db9b 08-Jun-2005 wenzelm <none@none>

added type NameSpace.table with basic operations;


# 96f07f1b 05-Jun-2005 wenzelm <none@none>

no warning for non-identifiers;


# 28519edd 31-May-2005 wenzelm <none@none>

renamed cond_extern to extern;
append, base, drop_base, map_base: made robust against empty names;
added qualified;
extern: improved output for non-unique non-hidden names;
name entry path superceded by general naming context;
added reject_qualified, default_naming, add_path, no_base_names, custom_accesses, set_policy;


# 5851b725 18-May-2005 wenzelm <none@none>

tuned;


# 44953e9d 24-Mar-2005 ballarin <none@none>

Further work on interpretation commands. New command `interpret' for
interpretation in proof contexts.


# 9cc62485 04-Mar-2005 skalberg <none@none>

Removed practically all references to Library.foldr.


# eee46a1e 02-Mar-2005 skalberg <none@none>

Move towards standard functions.


# 3dffd254 13-Feb-2005 skalberg <none@none>

Deleted Library.option type.


# 6ceace5d 06-Jul-2004 schirmer <none@none>

added flag unique_names


# 33b1b845 21-Jun-2004 kleing <none@none>

Merged in license change from Isabelle2004


# 1159c9e7 11-Feb-2004 berghofe <none@none>

Added flag short_names


# 6223f609 22-Sep-2003 berghofe <none@none>

Modified merge_aux to prevent newer names from getting overwritten
by older names.


# dcbbc0e6 10-Jul-2002 wenzelm <none@none>

added accesses';


# 7f8da083 21-Dec-2001 wenzelm <none@none>

hide: flag for full/base name;


# e0ce844d 20-Nov-2001 wenzelm <none@none>

moved prefixes1, suffixes1 to library.ML;


# f536d728 18-Oct-2001 wenzelm <none@none>

added map_base;


# bf75ed79 25-Jun-2000 wenzelm <none@none>

export hidden: string -> string;


# 9d1fc842 05-May-2000 wenzelm <none@none>

GPLed;


# 02e48545 17-Apr-2000 wenzelm <none@none>

improved output of ambiguous entries;
support hiding;


# 261e21bc 28-Jun-1999 wenzelm <none@none>

added cond_extern_table;


# 79ef12f0 13-Jan-1999 wenzelm <none@none>

fixed titles;


# 8c83dd3f 20-Oct-1998 wenzelm <none@none>

Symtab.foldl;


# 4a87c094 22-Jul-1998 wenzelm <none@none>

moved long_names / cond_extern to name_space.ML;


# 8cbef81e 10-Jun-1998 wenzelm <none@none>

moved name_space.ML to General/name_space.ML;