Symbol description inference
# Allen Wirfs-Brock (8 years ago)
Function name inferencing is possible because function definitions are all syntactic special forms that can be unambiguously identified during parsing.
Symbols creation is just a function call so there is no way to reliably detect it. Symbol
might aliased to some other name by assignment, a different value other than the Symbol creation function might be assigned to the global Symbol
, or some alternative declaration of Symbol
might be in some at the point of use.
# Alexander Jones (8 years ago)
IMO, the real problem that needs solving is macros. Macro-based definition of a symbol could trivially reuse the name.
# Michał Wadas (8 years ago)
Actually I think symbol name interference should be left as implementation detail. So I would change 19.4.1.1 § 2 to allow implementations for custom behavior.
So, we have function name inference, like
and this inference also works similarly with
const foo = () => {}
andsuch.
So, how about Symbol description inference, like:
and
const foo = Symbol()
and such?Here is my real use case: yarom-and-shahar/cyclejs-shooter/blob/feaaf0ecd7620832b4bff90ab0f701d51ddcf3ff/src/ui-from-state/index.test.js#L22