cb8af34c93
This change eliminates the scope-based symbol table. Because we now require that all module, type, function, and variable elements are encoded as fully qualified tokens, there is no need for the scope-based lookups. Instead, the languages themselves decide how the names bind to locations and just encode that information directly. The scope is still required for local variables, however, since those don't have a well-defined "fixed" notion of name. This is also how we will ensure the evaluator stores values correctly -- including discarding them -- in a lexically scoped manner. |
||
---|---|---|
.. | ||
constants.go | ||
decors.go | ||
decors_test.go | ||
names.go | ||
names_test.go | ||
tokens.go | ||
tokens_test.go |