Module Attributes
type vernac_flags= vernac_flag listThe type of parsing attribute data
and vernac_flag= string * vernac_flag_valueand vernac_flag_value=|VernacFlagEmpty|VernacFlagLeaf of string|VernacFlagList of vernac_flagstype +'a attributeThe type of attributes. When parsing attributes if an
'a attributeis present then an'avalue will be produced. In the most general case, an attribute transforms the raw flags along with its value.
val parse : 'a attribute -> vernac_flags -> 'aErrors on unsupported attributes.
val unsupported_attributes : vernac_flags -> unitErrors if the list of flags is nonempty.
module Notations : sig ... endval polymorphic : bool attributeval program : bool attributeval template : bool option attributeval locality : bool option attributeval deprecation : Deprecation.t option attributeval canonical : bool attributeval program_mode_option_name : string listFor internal use when messing with the global option.
val only_locality : vernac_flags -> bool optionParse attributes allowing only locality.
val only_polymorphism : vernac_flags -> boolParse attributes allowing only polymorphism. Uses the global flag for the default value.
val parse_drop_extra : 'a attribute -> vernac_flags -> 'aIgnores unsupported attributes.
val parse_with_extra : 'a attribute -> vernac_flags -> vernac_flags * 'aReturns unsupported attributes.
type 'a key_parser= 'a option -> vernac_flag_value -> 'aA parser for some key in an attribute. It is given a nonempty
'a optionwhen the attribute is multiply set for some command.eg in
#[polymorphic] Monomorphic Definition foo := ..., when parsingMonomorphicit will be givenSome true.
val attribute_of_list : (string * 'a key_parser) list -> 'a option attributeMake an attribute from a list of key parsers together with their associated key.
val bool_attribute : name:string -> on:string -> off:string -> bool option attributeDefine boolean attribute
namewith valuetruewhenonis provided andfalsewhenoffis provided. The attribute may only be set once for a command.
val qualify_attribute : string -> 'a attribute -> 'a attributequalified_attribute qual atttreats#[qual(atts)]likeatttreatsatts.
val assert_empty : string -> vernac_flag_value -> unitassert_empty key verrors ifvis not empty.keyis used in the error message as the name of the attribute.
val assert_once : name:string -> 'a option -> unitassert_once ~name verrors ifvis not empty.nameis used in the error message as the name of the attribute. Used to ensure that a given attribute is not reapeated.
val single_key_parser : name:string -> key:string -> 'a -> 'a key_parsersingle_key_parser ~name ~key vmakes a parser for attributenamegiving the constant valuevfor keykeytaking no arguments.namemay only be given once.
val make_attribute : (vernac_flags -> vernac_flags * 'a) -> 'a attributeMake an attribute using the internal representation, thus with access to the full power of attributes. Unstable.
val vernac_polymorphic_flag : vernac_flagCompatibility values for parsing
Polymorphic.
val vernac_monomorphic_flag : vernac_flag
val polymorphic_nowarn : bool attributeval universe_polymorphism_option_name : string listFor internal use, avoid warning if not qualified as eg
universes(polymorphic).