Extensible destructuring proposal
a.d.bergi at web.de
Tue Jul 21 16:45:26 UTC 2015
Ben Newman schrieb:
> That said, virtually every time I've written an unapply or unapplySeq
> method in Scala, it has been with multi-case pattern matching in mind, and
> we're only talking about destructuring assignment here, which I suppose is
> like a single-case pattern match.
Right, we don't really have pattern matching in ES yet. I don't want to
introduce that as well, it would be a pretty heavy change imo.
> If you have time/motivation to put together a proposal for
> Symbol.extractor, I would very much encourage you to think about the
> possibility of introducing multi-case pattern matching as well, as I think
> that would add significant value to the proposal, as well as highlighting
> some tricky issues.
I've seen that Scala returns an Option for a pattern. My first thought
was to make @@extractor return an empty iterator, but I'm not sure
whether that's semantically sound.
We then could consider an iterator to be "not matching" if any of the
target elements are left `undefined`, i.e. when the iterator is
exhausted before all elements have gotten a value, similar to default
initialisers are handled today.
Do you think that is viable?
More information about the es-discuss