package ocaml-unikraft-arm64

  1. Overview
  2. Docs
OCaml cross compiler to the freestanding Unikraft arm64 backends

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v1.2.0.tar.gz
sha256=ca18a45ef86791d5ffa18436945fbec850b6f3dd68a6a62753b4cb1b6999b19a

doc/compiler-libs.common/Shape_reduce/Make/index.html

Module Shape_reduce.Make

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

val reduce : Env.t -> Shape.t -> Shape.t
val 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.