# HG changeset patch # User wenzelm # Date 1466499804 -7200 # Node ID 054a92af0f2b487204edacdf9e64d81acfff4d4a # Parent d98164344ec19d0306eb787d9b5f655efc9d5899 tuned; diff -r d98164344ec1 -r 054a92af0f2b src/Pure/Isar/attrib.ML --- a/src/Pure/Isar/attrib.ML Tue Jun 21 10:41:29 2016 +0200 +++ b/src/Pure/Isar/attrib.ML Tue Jun 21 11:03:24 2016 +0200 @@ -6,21 +6,18 @@ signature ATTRIB = sig - type binding = binding * Token.src list - val empty_binding: binding - val is_empty_binding: binding -> bool + val empty_binding: Attrib.binding + val is_empty_binding: Attrib.binding -> bool val print_attributes: bool -> Proof.context -> unit - val define_global: Binding.binding -> (Token.src -> attribute) -> - string -> theory -> string * theory - val define: Binding.binding -> (Token.src -> attribute) -> - string -> local_theory -> string * local_theory + val define_global: binding -> (Token.src -> attribute) -> string -> theory -> string * theory + val define: binding -> (Token.src -> attribute) -> string -> local_theory -> string * local_theory val check_name_generic: Context.generic -> xstring * Position.T -> string val check_name: Proof.context -> xstring * Position.T -> string val check_src: Proof.context -> Token.src -> Token.src val attribs: Token.src list context_parser val opt_attribs: Token.src list context_parser val pretty_attribs: Proof.context -> Token.src list -> Pretty.T list - val pretty_binding: Proof.context -> binding -> string -> Pretty.T list + val pretty_binding: Proof.context -> Attrib.binding -> string -> Pretty.T list val attribute: Proof.context -> Token.src -> attribute val attribute_global: theory -> Token.src -> attribute val attribute_cmd: Proof.context -> Token.src -> attribute @@ -34,16 +31,16 @@ (('c * 'a list) * ('b * 'a list) list) list -> (('c * 'att list) * ('fact * 'att list) list) list type thms = (thm list * Token.src list) list - val global_notes: string -> (binding * thms) list -> + val global_notes: string -> (Attrib.binding * thms) list -> theory -> (string * thm list) list * theory - val local_notes: string -> (binding * thms) list -> + val local_notes: string -> (Attrib.binding * thms) list -> Proof.context -> (string * thm list) list * Proof.context - val generic_notes: string -> (binding * thms) list -> + val generic_notes: string -> (Attrib.binding * thms) list -> Context.generic -> (string * thm list) list * Context.generic val eval_thms: Proof.context -> (Facts.ref * Token.src list) list -> thm list val attribute_syntax: attribute context_parser -> Token.src -> attribute - val setup: Binding.binding -> attribute context_parser -> string -> theory -> theory - val local_setup: Binding.binding -> attribute context_parser -> string -> + val setup: binding -> attribute context_parser -> string -> theory -> theory + val local_setup: binding -> attribute context_parser -> string -> local_theory -> local_theory val attribute_setup: bstring * Position.T -> Input.source -> string -> local_theory -> local_theory @@ -54,20 +51,17 @@ val thms: thm list context_parser val multi_thm: thm list context_parser val transform_facts: morphism -> (Attrib.binding * thms) list -> (Attrib.binding * thms) list - val partial_evaluation: Proof.context -> (binding * thms) list -> (binding * thms) list + val partial_evaluation: Proof.context -> + (Attrib.binding * thms) list -> (Attrib.binding * thms) list val print_options: bool -> Proof.context -> unit - val config_bool: Binding.binding -> - (Context.generic -> bool) -> bool Config.T * (theory -> theory) - val config_int: Binding.binding -> - (Context.generic -> int) -> int Config.T * (theory -> theory) - val config_real: Binding.binding -> - (Context.generic -> real) -> real Config.T * (theory -> theory) - val config_string: Binding.binding -> - (Context.generic -> string) -> string Config.T * (theory -> theory) - val setup_config_bool: Binding.binding -> (Context.generic -> bool) -> bool Config.T - val setup_config_int: Binding.binding -> (Context.generic -> int) -> int Config.T - val setup_config_real: Binding.binding -> (Context.generic -> real) -> real Config.T - val setup_config_string: Binding.binding -> (Context.generic -> string) -> string Config.T + val config_bool: binding -> (Context.generic -> bool) -> bool Config.T * (theory -> theory) + val config_int: binding -> (Context.generic -> int) -> int Config.T * (theory -> theory) + val config_real: binding -> (Context.generic -> real) -> real Config.T * (theory -> theory) + val config_string: binding -> (Context.generic -> string) -> string Config.T * (theory -> theory) + val setup_config_bool: binding -> (Context.generic -> bool) -> bool Config.T + val setup_config_int: binding -> (Context.generic -> int) -> int Config.T + val setup_config_real: binding -> (Context.generic -> real) -> real Config.T + val setup_config_string: binding -> (Context.generic -> string) -> string Config.T val option_bool: string * Position.T -> bool Config.T * (theory -> theory) val option_int: string * Position.T -> int Config.T * (theory -> theory) val option_real: string * Position.T -> real Config.T * (theory -> theory) @@ -83,12 +77,12 @@ val case_conclusion: string * string list -> Token.src end; -structure Attrib: ATTRIB = +structure Attrib: sig type binding = Attrib.binding include ATTRIB end = struct (* source and bindings *) -type binding = binding * Token.src list; +type binding = Attrib.binding; val empty_binding: binding = (Binding.empty, []); fun is_empty_binding ((b, srcs): binding) = Binding.is_empty b andalso null srcs;