package functoria

  1. Overview
  2. Docs
type t =
  1. | D : {
    1. dev : (_, _) t;
    2. args : t list;
    3. deps : t list;
    4. id : int;
    } -> t

A graph of devices, annotated with their arguments, dependencies, and a unique identifier.

Warning: this is truly a DAG: sharing must be preserved. Manual walks are discouraged, please use fold instead.

val fold : (t -> 'a -> 'a) -> t -> 'a -> 'a

fold f g z applies f on each device in topological order.

val var_name : t -> string

var_name t returns the name identifying t which is a valid OCaml variable identifier.

val impl_name : t -> string

impl_name t returns the name identifying t's module implementation.