Module Sidekick_base.Data_ty

type select = Types_.select = {
  1. select_id : ID.t;
  2. select_cstor : Types_.cstor;
  3. select_ty : Types_.ty lazy_t;
  4. select_i : int;
}
type cstor = Types_.cstor = {
  1. cstor_id : ID.t;
  2. cstor_is_a : ID.t;
  3. mutable cstor_arity : int;
  4. cstor_args : select list lazy_t;
  5. cstor_ty_as_data : Types_.data;
  6. cstor_ty : Types_.ty lazy_t;
}
type t = Types_.data = {
  1. data_id : ID.t;
  2. data_cstors : cstor Sidekick_base__.ID.Map.t lazy_t;
  3. data_as_ty : Types_.ty lazy_t;
}
type Sidekick_core.Const.view += private
  1. | Data of Types_.data
  2. | Cstor of cstor
  3. | Select of select
  4. | Is_a of cstor
include Sidekick_sigs.EQ_HASH_PRINT with type t := t
include Sidekick_sigs.EQ with type t := t
val equal : t -> t -> bool
include Sidekick_sigs.HASH with type t := t
val hash : t -> int
include Sidekick_sigs.PRINT with type t := t
module Select : sig ... end
module Cstor : sig ... end
val data_as_ty : t -> Types_.ty
val as_data : Types_.ty -> Types_.data option
val as_select : Types_.term -> select option
val as_cstor : Types_.term -> cstor option
val as_is_a : Types_.term -> cstor option