20:27
<TabAtkins>
We've been considering void as a no-binding matcher in Pattern Matching; that might work here? using void = ...;
20:27
<TabAtkins>
Oh lol littledan just said that
20:42
<littledan>
I think void would be a little funny for this purpose given that it’s an operator
20:42
<littledan>
And this case shows it would be nice to be accessible outside of pattern matching
21:07
<bakkot>
crazy thought: _ as an identifier can be redeclared as long as it's never referred to (and there's no direct evals in scope, I guess?)
23:09
<littledan>
crazy thought: _ as an identifier can be redeclared as long as it's never referred to (and there's no direct evals in scope, I guess?)
That was Nicolo’s idea, except that if you do refer to it, you get a runtime error
23:10
<littledan>
And I guess we don’t enforce in the old sloppy constructs
23:10
<bakkot>
don't love the idea of a local binding which throws when referenced
23:10
<bakkot>
reading local bindings should not be side-effecting
23:10
<littledan>
Why? We already have TDZ
23:10
<bakkot>
hm, I guess
23:10
<littledan>
It would literally be in TDZ
23:10
<bakkot>
for now, anyway
23:11
<littledan>
Ah!
23:11
<bakkot>
I would prefer a static error but runtime is also ok I guess