package grenier

  1. Overview
  2. Docs
A collection of various algorithms in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

grenier-0.15.tbz
sha256=dec7f84b9e93d5825f10c7dea84d5a74d7365ede45664ae63c26b5e8045c1c44
sha512=b8aa1569c2e24b89674d1b34de34cd1798896bb6a53aa5a1287f68cee880125e6b687f66ad73da9069a01cc3ece1f0684f48328b099d43529bff736b772c8fd8

doc/grenier.binder_introducer/Binder_introducer/index.html

Module Binder_introducerSource

Sourcetype 'a graph = 'a Fastdom.graph = {
  1. memoize : 'b. ('a -> 'b) -> 'a -> 'b;
    (*

    Memoize a function on nodes

    *)
  2. successors : 'b. ('b -> 'a -> 'b) -> 'b -> 'a -> 'b;
    (*

    Fold over successors of a node

    *)
}

Representation of a graph with nodes of type 'a

Rewrite a (possibly cyclic) directed graph by introducing let-binders at dominating nodes

Sourcetype ('term, 'var) binding_structure = {
  1. map_subterms : ('term -> 'term) -> 'term -> 'term;
  2. name_term : 'term -> 'var;
  3. var_term : 'var -> 'term;
  4. introduce_let : recursive:bool -> ('var * 'term) list -> 'term -> 'term;
}
Sourceval explicit_sharing : 'a graph -> ('a, 'b) binding_structure -> 'a -> 'a
OCaml

Innovation. Community. Security.