Kevin Smith wrote:

    Interpreted this way, any additional irrefutable markers in a
    subtree under a refutable identifier become redundant, correct?


Er, meant this:

Interpreted this way, any additional irrefutable markers in a subtree under an _irrefutable_ identifier become redundant, correct?

For the proposal to use Nil for the expression semantics, yes.

You're right, this implies destructuring binding forms behave in a way that I flagged as possibly not wanted:

  let {p?: {q: r}} = o;

would bind r to undefined for any o that doesn't have a p or that does but o.p doesn't have a q.

On second look this is not as bad as I thought. It would be bad if r were not bound (so an outer r could become visible) depending on o's dynamics. That seems right out!

/be


        r = o?.p?.q    { p?: { q?: r } } = o

    Using Nil, the "q" in all cases is "present" (evaluating to Nil),
    so the "?" in "q?" has no effect.  Is that right?


_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to