about summary refs log tree commit diff
path: root/third_party/lisp/cl-yacc.nix
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-08-27T22·52+0300
committertazjin <tazjin@tvl.su>2022-09-06T07·45+0000
commit8982e16e26b8f271c66210e6657e2d70000f3141 (patch)
tree0ab8547b824b8378b32fad2b529a2388bc00cf11 /third_party/lisp/cl-yacc.nix
parentf6de4434c3838431c8d5c0782f786c07ac46b212 (diff)
refactor(tvix/eval): thread dynamic upvalues through all contexts r/4657
With this change, encountering a dynamic upvalue will thread through
all contexts starting from the lowest context that has a non-empty
`with`-stack.

The additional upvalues are not actually used yet, so the effective
behaviour remains mostly the same. This is done in preparation for an
upcoming change, which will implement proper dynamic resolution for
complex cases of nested dynamic upvalues.

Yes, this whole upvalue + dynamic values thing is a little bit
mind-bending, but we would like to not give up being able to resolve a
large chunk of the scoping behaviour statically.

Change-Id: Ia58cdd47d79212390a6503ef13cef46b6b3e19a2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6321
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'third_party/lisp/cl-yacc.nix')
0 files changed, 0 insertions, 0 deletions