Shape_reduce
type result =
| Resolved of Shape.Uid.t
Shape reduction succeeded and a uid was found
*)| Resolved_alias of Shape.Uid.t * result
Reduction led to an alias
*)| Unresolved of Shape.t
Result still contains Comp_unit
terms
| Approximated of Shape.Uid.t option
Reduction failed: it can arrive with first-class modules for example
*)| 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
val print_result : Stdlib.Format.formatter -> result -> unit
The Make
functor is used to generate a reduction function for shapes.
local_reduce
will not reduce shapes that require loading external compilation units.