Spec sequential visibility for globals#420
Conversation
| \frac{ | ||
| C \vdashglobal \global_1 : \X{gt}_1 | ||
| \qquad | ||
| C, \CGLOBALS~\X{gt}_1 \vdashglobalseq \global^\ast : \X{gt}^\ast |
There was a problem hiding this comment.
Since context extension was originally defined with labels in mind, it prepends the new items to the relevant index space in the context, but here we want to append the new global to the end of the index space. It seems we need to define separate notations for prepending and appending extension, or else define a convention that extension prepends for labels and appends for everything else.
There was a problem hiding this comment.
Ah, yes, good catch. I'll probably redesign that at some point, but for now I'm using \compose instead here.
|
|
||
| Globals, however, are not recursive and not accessible within :ref:`constant expressions <valid-const>` when they are defined locally. | ||
| The effect of defining the limited context :math:`C'` for validating certain definitions is that they can only access functions and imported globals and nothing else. | ||
| Globals, however, are not recursive but eveluated sequentially, such that each :ref:`constant expressions <valid-const>` only has access to imported or priviously defined globals. |
There was a problem hiding this comment.
| Globals, however, are not recursive but eveluated sequentially, such that each :ref:`constant expressions <valid-const>` only has access to imported or priviously defined globals. | |
| Globals, however, are not recursive but evaluated sequentially, such that each :ref:`constant expressions <valid-const>` only has access to imported or previously defined globals. |
|
@tlively, PTAL. |
tlively
left a comment
There was a problem hiding this comment.
Should we briefly describe what \compose means in the conventions section? Other than that, LGTM.
|
It's already described there. ;) |
Also, add a couple of respective test cases.