Naming of ScopedValues

Ah, I see what the problematic use case is: when you want to call a whole stack with a deeply nested dynamically-scoped callee (maybe it’s a low-level routine that relies on a “global”-ish setting, like a numeric tolerance or an iteration depth), but don’t wish to dynamically scope the rest of it.

Nonetheless the point about naming and semantics stands, it’s a wart on the language. These are probably best thought of as “dynamic constants.” Could we have a contextual keyword like dynamic for this, as @mnemnion suggests? Something like this seems far more appealing:

dynamic const a = 1
f() = a

f()  # 1

dynamic let a=2
    f()
end  # 2