package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

Dune Dependency

Authors

Maintainers

Sources

merlin-5.4.1-503.tbz
sha256=49b3b4c778c12125fc7405e73790b0b312d5d79749dd73d4838b6562a2533022
sha512=6350ff076ac61727c48bc098a05520c5d343f3323b2f3b6d7d69fdd568e51abca6945cbcbc3a6ae97fd198bd7bbdcae823fbd0f3f14a37972fe713da2ed14f2d

doc/merlin-lib.ocaml_typing/Ocaml_typing/Subst/Unsafe/index.html

Module Subst.UnsafeSource

Unsafe substitutions introduced by with constraints, local substitutions (type t := int * int) or recursive module check.

Sourceval add_modtype : Ident.t -> Types.module_type -> 'any subst -> t

Replacing a module type name S by a non-path signature is unsafe as the packed module type (module S) becomes ill-formed.

Sourceval add_modtype_path : Path.t -> Types.module_type -> 'any subst -> t
Sourceval add_type_path : Path.t -> Path.t -> t -> t

Deep editing inside a module type require to retypecheck the module, for applicative functors in path and module aliases.

Sourceval add_type_function : Path.t -> params:Types.type_expr list -> body:Types.type_expr -> t -> t
Sourceval add_module_path : Path.t -> Path.t -> t -> t
Sourcetype error =
  1. | Fcm_type_substituted_away of Path.t * Types.module_type
type 'a res := ('a, error) result
Sourceval compose : t -> t -> t res

Composition of substitutions is eager and fails when the two substitution are incompatible, for example module type t := sig end is not compatible with module type s := sig type t=(module t) end

OCaml

Innovation. Community. Security.