package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

dune-project
 Dependency

Authors

Maintainers

Sources

merlin-5.6-503.tbz
sha256=b0dcad092aaaf7a23f65ab9a089e8761bd665cc72357909e0ac6c2182f4fc2d4
sha512=9987baf2b2e82bab4c90a328bfcba9945e797e0f3d947156f04435ee84b49542844b379e35a79027c3ffe81f4b7a8f1c60803233999b4c039d4598033371880d

doc/merlin-lib.ocaml_typing/Ocaml_typing/Shape_reduce/Make/index.html

Module Shape_reduce.MakeSource

The Make functor is used to generate a reduction function for shapes.

It is parametrized by:

  • a function to load the shape of an external compilation unit
  • some fuel, which is used to bound recursion when dealing with recursive shapes introduced by recursive modules. (FTR: merlin currently uses a fuel of 10, which seems to be enough for most practical examples)

Usage warning: To ensure good performances, every reduction made with the same instance of that functor share the same ident-based memoization tables. Such an instance should only be used to perform reduction inside a unique compilation unit to prevent conflicting entries in these memoization tables.

Parameters

module _ : sig ... end

Signature

Sourceval reduce : Env.t -> Shape.t -> Shape.t
Sourceval reduce_for_uid : Env.t -> Shape.t -> result

Perform weak reduction and return the head's uid if any. If reduction was incomplete the partially reduced shape is returned.