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