package ninja_utils

  1. Overview
  2. Docs

Module Ninja_utils.VarSource

Ninja variable names, distinguishing binding name ("x") from references in expressions ("$x")

Sourcetype 'a t =
  1. | Scalar : string -> string t
  2. | Vector : string -> Expr.t t
    (*

    A Scalar holds a string: referenced with ref, embeddable inside any Word or path. A Vector holds an Expr.t: referenced only whole, with Splice, in commands.

    *)
Sourcetype scalar = string t
Sourcetype vector = Expr.t t
Sourceval make_scalar : string -> scalar
Sourceval make_vector : string -> vector
Sourceval name : 'a t -> string

Var base name, used when binding it

Sourceval ref : string t -> string

Var reference with a preceding "$", for use in strings