Are Jsonnet variables, the ones that end with a semicolon (as opposed to the ones that end with a comma), the same as functions with no parameters?
In the following Jsonnet program
{
c: local a = function() self.b; {x: a(), b: 'inner'},
b: 'outer'
}
this is indeed the case, since it manifests the same as the program
{
c: local a = self.b; {x: a, b: 'inner'},
b: 'outer'
}
namely
{
"b": "outer",
"c": {
"b": "inner",
"x": "outer"
}
}
But is this generally the case? Can I make a rule out of it?