package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

dune-project
 Dependency

Authors

Maintainers

Sources

merlin-5.7-505.preview.tbz
sha256=a3047606d06580e251ee8acbeb67f80f1d059238f879e187e10de40b4ec61be7
sha512=871f4e8f1111d086985172a9157812d5e22fd746edeffa8bdb5363f5c8cef2308da36a57d989ae77becec32eaa6ea4e8ef67f9b0247cbd409537701644db563f

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.