jon.recoil.org

Module Ocaml_typing.Shape_reduce

type result =
  1. | Resolved of Ocaml_typing.Shape.Uid.t
    (*

    Shape reduction succeeded and a uid was found

    *)
  2. | Resolved_alias of Ocaml_typing.Shape.Uid.t * Ocaml_typing.Shape_reduce.result
    (*

    Reduction led to an alias

    *)
  3. | Unresolved of Ocaml_typing.Shape.t
    (*

    Result still contains Comp_unit terms

    *)
  4. | Approximated of Ocaml_typing.Shape.Uid.t option
    (*

    Reduction failed: it can arrive with first-class modules for example

    *)
  5. | Internal_error_missing_uid
    (*

    Reduction succeeded but no uid was found, this should never happen

    *)

The result of reducing a shape and looking for its uid

module Diagnostics : sig ... end
module Make (_ : sig ... end) : sig ... end

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

local_reduce will not reduce shapes that require loading external compilation units.

local_reduce_for_uid will not reduce shapes that require loading external compilation units.