package links

  1. Overview
  2. Docs

This module is a simple algorithm for determining which variables affect each other during execution.

This module is a simple algorithm for determining which variables affect each other during execution.

type phrase = Phrase.t
type elt = Alias.Set.t
val equal : t -> t -> Ppx_deriving_runtime.bool
val of_lists : string list list -> t

Generate a grouped type variable value from a list of lists of column names. This is mainly useful for debugging.

val gtv : phrase -> t

Calculate the grouped type variables from a phrase.

val has_partial_overlaps : t -> cols:elt -> bool

Determine if the grouped type variables contains a group which only partially overlaps with the specified set of cols.

Example:

When called on the set ` A; A B; C D; ` with the cols `A B`, the result is false because `A B` only occurs in groups without further variables. If it is called with cols `C`, then it returns true, because the group `C D` contains the column `D` in addition to the column `C`.

module Error : sig ... end
val no_partial_overlaps : t -> cols:Alias.Set.t -> (unit, Error.t) result