Disambiguation_state.Entry
Recorded data on bindings in Beluga signatures.
val is_lf_variable : t -> Stdlib.Bool.t
is_lf_variable entry
is true
if and only if entry
describes an LF variable.
val is_meta_variable : t -> Stdlib.Bool.t
is_meta_variable entry
is true
if entry
describes a meta-variable or a contextual variable.
Contextual variables exist only because mlam
-expressions ambiguously introduce either a meta-variable, a parameter variable, a substitution variable or a context variable.
val is_parameter_variable : t -> Stdlib.Bool.t
is_parameter_variable
is like is_meta_variable
, but for entries describing parameter variables.
val is_substitution_variable : t -> Stdlib.Bool.t
is_substitution_variable
is like is_meta_variable
, but for entries describing parameter variables.
val is_context_variable : t -> Stdlib.Bool.t
is_context_variable
is like is_meta_variable
, but for entries describing context variables.
val is_computation_variable : t -> Stdlib.Bool.t
is_computation_variable entry
is true
if and only if entry
describes a computation-level variable.
val is_variable : t -> Stdlib.Bool.t
is_variable entry
is true
if and only if entry
describes an LF variable, a meta-level variable, or a computation-level variable.
This is used to discern between the following two cases when disambiguating identifiers in patterns:
val is_lf_type_constant : t -> Stdlib.Bool.t
is_lf_type_constant entry
is true
if and only if entry
describes an LF type-level constant.
val is_lf_term_constant : t -> Stdlib.Bool.t
is_lf_term_constant
is like is_lf_type_constant
, but for entries describing LF term-level constants.
val is_schema_constant : t -> Stdlib.Bool.t
is_schema_constant
is like is_lf_type_constant
, but for entries describing context schemas.
val is_computation_inductive_type_constant : t -> Stdlib.Bool.t
is_computation_inductive_type_constant
is like is_lf_type_constant
, but for entries describing inductive computation-level type constants.
val is_computation_stratified_type_constant : t -> Stdlib.Bool.t
is_computation_stratified_type_constant
is like is_lf_type_constant
, but for entries describing stratified computation-level type constants.
val is_computation_coinductive_type_constant : t -> Stdlib.Bool.t
is_computation_coinductive_type_constant
is like is_lf_type_constant
, but for entries describing coinductive computation-level type constants.
val is_computation_abbreviation_type_constant : t -> Stdlib.Bool.t
is_computation_abbreviation_type_constant
is like is_lf_type_constant
, but for entries describing computation-level type constant abbreviations (introduced by the Beluga keyword typedef
).
val is_computation_term_constructor : t -> Stdlib.Bool.t
is_computation_term_constructor
is like is_lf_type_constant
, but for entries describing computation-level constructors.
val is_computation_term_destructor : t -> Stdlib.Bool.t
is_computation_term_destructor
is like is_lf_type_constant
, but for entries describing computation-level destructors.
val is_program_constant : t -> Stdlib.Bool.t
is_program_constant
is like is_lf_type_constant
, but for entries describing computation-level programs (introduced by the Beluga keyword rec
or val
).
val is_module : t -> Stdlib.Bool.t
is_module
is like is_lf_type_constant
, but for entries describing modules.