package coq-core

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module ClassesSource

Instance declaration

Sourceval declare_instance : ?warn:bool -> Environ.env -> Evd.evar_map -> Typeclasses.hint_info option -> Hints.hint_locality -> Names.GlobRef.t -> unit

Declares the given global reference as an instance of its type. Does nothing — or emit a “not-a-class” warning if the warn argument is set — when said type is not a registered type class.

Sourceval existing_instance : ?loc:Loc.t -> Hints.hint_locality -> Names.GlobRef.t -> Vernacexpr.hint_info_expr option -> unit

globality, reference, optional priority and pattern information

Sourceval new_instance_interactive : locality:Hints.hint_locality -> poly:bool -> Constrexpr.name_decl -> Constrexpr.local_binder_expr list -> Constrexpr.constr_expr -> ?tac:unit Proofview.tactic -> ?hook:(Names.GlobRef.t -> unit) -> Vernacexpr.hint_info_expr -> (bool * Constrexpr.constr_expr) option -> Names.Id.t * Declare.Proof.t
Sourceval declare_new_instance : locality:Hints.hint_locality -> program_mode:bool -> poly:bool -> Constrexpr.ident_decl -> Constrexpr.local_binder_expr list -> Constrexpr.constr_expr -> Vernacexpr.hint_info_expr -> unit
Sourceval add_class : Typeclasses.typeclass -> unit
Sourcetype instance = {
  1. class_name : Names.GlobRef.t;
  2. instance : Names.GlobRef.t;
  3. info : Typeclasses.hint_info;
  4. locality : Hints.hint_locality;
}
Sourcemodule Event : sig ... end

Activated observers are called whenever a class or an instance are declared.

register_observer is to be called once per process for a given string, unless override is true. The registered observer is not activated.

Activation state is part of the summary. It is up to the caller to use libobject for persistence if desired.

Sourcetype observer
Sourceval register_observer : name:string -> ?override:bool -> (Event.t -> unit) -> observer
Sourceval activate_observer : observer -> unit
Sourceval deactivate_observer : observer -> unit

Setting opacity

Sourceval set_typeclass_transparency : locality:Hints.hint_locality -> Evaluable.t list -> bool -> unit
Sourceval set_typeclass_transparency_com : locality:Hints.hint_locality -> Libnames.qualid list -> bool -> unit

For generation on names based on classes only

Sourceval refine_att : bool Attributes.attribute
Sourcemodule Internal : sig ... end
OCaml

Innovation. Community. Security.