package merlin-lib
Merlin's libraries
Install
Dune Dependency
Authors
Maintainers
Sources
merlin-5.5-503.tbz
sha256=67da3b34f2fea07678267309f61da4a2c6f08298de0dc59655b8d30fd8269af1
sha512=1fb3b5180d36aa82b82a319e15b743b802b6888f0dc67645baafdb4e18dfc23a7b90064ec9bc42f7424061cf8cde7f8839178d8a8537bf4596759f3ff4891873
doc/merlin-lib.ocaml_typing/Ocaml_typing/Includecore/index.html
Module Ocaml_typing.Includecore
Source
Source
type value_mismatch =
| Primitive_mismatch of primitive_mismatch
| Not_a_primitive
| Type of Errortrace.moregen_error
Source
type record_change =
(Types.label_declaration as 'ld, 'ld, label_mismatch)
Ocaml_utils.Diffing_with_keys.change
Source
type record_mismatch =
| Label_mismatch of record_change list
| Unboxed_float_representation of position
Source
type constructor_mismatch =
| Type of Errortrace.equality_error
| Arity
| Inline_record of record_change list
| Kind of position
| Explicit_return_type of position
Source
type extension_constructor_mismatch =
| Constructor_privacy
| Constructor_mismatch of Ident.t * Types.extension_constructor * Types.extension_constructor * constructor_mismatch
Source
type variant_change =
(Types.constructor_declaration as 'cd, 'cd, constructor_mismatch)
Ocaml_utils.Diffing_with_keys.change
Source
type private_variant_mismatch =
| Only_outer_closed
| Missing of position * string
| Presence of string
| Incompatible_types_for of string
| Types of Errortrace.equality_error
Source
type type_mismatch =
| Arity
| Privacy of privacy_mismatch
| Kind of kind_mismatch
| Constraint of Errortrace.equality_error
| Manifest of Errortrace.equality_error
| Private_variant of Types.type_expr * Types.type_expr * private_variant_mismatch
| Private_object of Types.type_expr * Types.type_expr * private_object_mismatch
| Variance
| Record_mismatch of record_mismatch
| Variant_mismatch of variant_change list
| Unboxed_representation of position
| Immediate of Type_immediacy.Violation.t
Source
val value_descriptions :
loc:Ocaml_parsing.Location.t ->
Env.t ->
string ->
Types.value_description ->
Types.value_description ->
Typedtree.module_coercion
Source
val type_declarations :
?equality:bool ->
loc:Ocaml_parsing.Location.t ->
Env.t ->
mark:bool ->
string ->
Types.type_declaration ->
Path.t ->
Types.type_declaration ->
type_mismatch option
Source
val extension_constructors :
loc:Ocaml_parsing.Location.t ->
Env.t ->
mark:bool ->
Ident.t ->
Types.extension_constructor ->
Types.extension_constructor ->
extension_constructor_mismatch option
Source
val value_descriptions_consistency :
Env.t ->
Types.value_description ->
Types.value_description ->
Typedtree.module_coercion
The functions value_descriptions_consistency
and type_declarations_consistency
check if two declaration are consistent. Declarations are consistent when there exists an environment such that the first declaration is a subtype of the second one.
Notably, if a type declaration td1
is consistent with td2
then a type expression te
which is well-formed with the td2
declaration in scope is still well-formed with the td1
declaration: E, td2 |- te
=> E, td1 |- te
.
Source
val type_declarations_consistency :
Env.t ->
Types.type_declaration ->
Types.type_declaration ->
type_mismatch option
Source
val report_value_mismatch :
string ->
string ->
Env.t ->
value_mismatch Merlin_utils.Format_doc.printer
Source
val report_type_mismatch :
string ->
string ->
string ->
Env.t ->
type_mismatch Merlin_utils.Format_doc.printer
Source
val report_extension_constructor_mismatch :
string ->
string ->
string ->
Env.t ->
extension_constructor_mismatch Merlin_utils.Format_doc.printer
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>