Where does "statically constructive" come from

In recursive definition of values we are introduced
to the term statically constructive, and I’m wondering if there is literature behind the term. In particular, I’m a bit lost on why we consider e is a variable statically constructive with respect to any set of names.

A variable is not peeking at the contents of the value being bound.
Thus constructing 1:: name1 in

let rec name1 = 1 :: name1

can be done independently of the contents of name1. One may read alternatively statically constructive as independent of the contents or never deconstructing.

Note that the compiler is currently using the more detailed mode analysis described by https://arxiv.org/pdf/1811.08134 to implement the constraints described by the manual.

3 Likes