On 5 February 2014 11:17, Mark S. Miller <[email protected]> wrote:
> At the end of Sept mtg, my memory of the state on entry to the meeting
> agrees completely with Domenic's. On exit, my memory is
>
> a) We had agreed to promote both the .then level and the .chain level to
> ES6. (This is probably the biggest disagreement among the memory of the
> attendees.)

FWIW, I agree, but it's clearly at odds with Dominic's interpretation
of that meeting.

> b) At the .then level, we agreed essentially to promises-unwrapping as it
> was at the time, which did one-level unwrapping of the output side of .then
> by use of internal properties. (Or what Domenic now characterizes as "by
> magic".)
> c) Domenic and Allen had talked about subclassing, and Domenic came up with
> a nice subclassing proposal that kept this "by magic" unwrapping.
>
> After the September mtg
>
> Yehuda did not attend the end-of-Sept mtg, and afterwards rejected the "by
> magic" unwrapping as hostile to subclassing goals I have yet to understand.
> Domenic responded by changing the output unwrapping of .then to use .then,
> which, as Kevin correctly points out, broke the AP2 consensus.
>
> However, at my urging, Domenic initiated a private thread with the main
> .chain level advocates, including IIRC Andreas, Sam, and Tab, to see if any
> objected to the switch to .then doing unwrapping by use of .then. I was
> privately shocked that none did. At this point, perhaps I did the community
> a disservice by staying silent, and not pointing out more forcefully to the
> .chain advocates why they should object to this switch. But since
> * they were not objecting,
> * the switch only harmed properties that they care about and none that I
> care about,
> * we knew of no way to restore the AP2 consensus and also achieve Yehuda's
> subclassing goals
> I did stay silent until this problem was independently noticed by Kevin and
> brought to my attention and (at my urging) Domenic's attention as well.

To clarify, I may not have reacted directly (probably a mistake, but I
considered .then to be too big a bag of magic anyway to really care
about it per se, as long as flatMap/.chain was available as a clean
and well-understood primitive, which I assumed would be the case -- as
did Sam and Tab, I suppose).

However, this question actually triggered me to have a closer look at
the state of the spec (again), the outcome of which was my proposal
for a refactoring. That refactoring based .then on .chain and pulled
it from any of the core logic, thus avoiding the problems you seem to
be alluding to, while still allowing subclassing. Dominic adopted much
of that refactoring for the spec, but left out the central part,
namely .chain and its use, because he assumed it wouldn't be relevant
for ES6.


> THE BIGGER ISSUE
>
> Unfortunately, just as Yehuda was not there in September and did not agree
> to the consensus then, Andreas was not there on Thursday of January and
> (above in this thread) does not agree to that consensus. This indicates a
> different failure mode we should be concerned about. Not everyone is at
> every meeting. If anyone absent from any meeting can veto the hard-won
> consensus achieved by those who did attend, it is hard to see how to make
> progress. OTOH, without this dynamic, we might proceed despite strongly held
> objections, which really is not consensus. Only our insistence on true
> consensus has saved us from prior disasters like ES4. I really don't know
> what to do about this.

I agree that this is a general issue moving forward. We actually had
several occasions where consensus flipped forth and back between
meetings, which is a problem, especially when implementers want to
move ahead with features.

/Andreas
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to