src/Pure/config.ML
changeset 39163 4d701c0388c3
parent 39116 f14735a88886
child 40291 012ed4426fda
--- a/src/Pure/config.ML	Mon Sep 06 19:23:54 2010 +0200
+++ b/src/Pure/config.ML	Mon Sep 06 21:33:19 2010 +0200
@@ -10,9 +10,10 @@
   val print_value: value -> string
   val print_type: value -> string
   type 'a T
-  val bool: value T -> bool T
-  val int: value T -> int T
-  val string: value T -> string T
+  type raw = value T
+  val bool: raw -> bool T
+  val int: raw -> int T
+  val string: raw -> string T
   val get: Proof.context -> 'a T -> 'a
   val map: 'a T -> ('a -> 'a) -> Proof.context -> Proof.context
   val put: 'a T -> 'a -> Proof.context -> Proof.context
@@ -22,9 +23,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_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 declare_generic: {global: bool} -> string -> (Context.generic -> value) -> raw
+  val declare_global: string -> (Context.generic -> value) -> raw
+  val declare: string -> (Context.generic -> value) -> raw
   val name_of: 'a T -> string
 end;
 
@@ -68,6 +69,8 @@
   get_value: Context.generic -> 'a,
   map_value: ('a -> 'a) -> Context.generic -> Context.generic};
 
+type raw = value T;
+
 fun coerce make dest (Config {name, get_value, map_value}) = Config
  {name = name,
   get_value = dest o get_value,