src/Pure/config.ML
changeset 39116 f14735a88886
parent 38804 99cc7e748ab4
child 39163 4d701c0388c3
--- a/src/Pure/config.ML	Fri Sep 03 15:54:03 2010 +0200
+++ b/src/Pure/config.ML	Fri Sep 03 16:09:12 2010 +0200
@@ -22,7 +22,9 @@
   val get_generic: Context.generic -> 'a T -> 'a
   val map_generic: 'a T -> ('a -> 'a) -> Context.generic -> Context.generic
   val put_generic: 'a T -> 'a -> Context.generic -> Context.generic
-  val declare: bool -> string -> (Context.generic -> value) -> value T
+  val declare_generic: {global: bool} -> string -> (Context.generic -> value) -> value T
+  val declare_global: string -> (Context.generic -> value) -> value T
+  val declare: string -> (Context.generic -> value) -> value T
   val name_of: 'a T -> string
 end;
 
@@ -98,7 +100,7 @@
   fun merge data = Inttab.merge (K true) data;
 );
 
-fun declare global name default =
+fun declare_generic {global} name default =
   let
     val id = serial ();
 
@@ -120,6 +122,9 @@
       | map_value f context = update_value f context;
   in Config {name = name, get_value = get_value, map_value = map_value} end;
 
+val declare_global = declare_generic {global = true};
+val declare = declare_generic {global = false};
+
 fun name_of (Config {name, ...}) = name;