package ocaml-solo5

  1. Overview
  2. Docs
OCaml cross-compiler to the freestanding Solo5 backend

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v1.3.4.tar.gz
md5=186c4e0b2e2602b8a5cefbc731bcc6ba
sha512=b64b9f6b7371468b415c30eb7d13a06ae9c81eaf77f73494635919fc0134d9c3bb0aa177b78ab35d23bfa7fc045602a15f163e446c8fa67afe6e85f0ccbe0031

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

Module Shape_reduce

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

    Shape reduction succeeded and a uid was found

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

    Reduction led to an alias

    *)
  3. | Resolved_local_use of Shape.Uid.t
    (*

    Shape reduction was stuck on a functor parameter or a first class module and a new uid was generated linked to the item's declaration uid.

    *)
  4. | Unresolved of Shape.t
    (*

    Result still contains Comp_unit terms

    *)
  5. | Approximated of Shape.Uid.t option
    (*

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

    *)
  6. | Missing_uid of Shape.t
  7. | 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 : Format.formatter -> result -> unit
module Make (_ : sig ... end) : sig ... end

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

val local_reduce : Env.t -> Shape.t -> Shape.t

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

val local_reduce_for_uid : Env.t -> namespace:Shape.Sig_component_kind.t -> Path.t -> Shape.t -> result

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