First crack at a Streams proposal

Isaac Schlueter i at
Mon Apr 22 19:18:00 PDT 2013

> That request is nearly always followed with an (explicit or implied)
> "And if it can be, why should we do it? Leave it to libraries!"
> statement.  If you did not intend this, then I apologize.

Well, actually, I think that we *should* do it with libraries for a
bit, because I have come to believe from repeated experience that this
is the only reliable way to evaluate patterns, and that forcing
acceptance of a specification in advance of trials leads to a lot of
error.  Again, qv promises, map/set, etc.  That's how it's done
because it works.

> You need Object.observe to do reactive values as an event stream.  You
> can do event streams (turning DOM Events into a stream) with today's
> JS.

Are you proposing reactive values as an event stream?  It seemed like
your proposal was mostly pretty simple interfaces.

> Apologies for the mismatch in expectations.  I recognize that
> reference implementations are more *customary* when proposing things
> in JS that don't depend on new primitives.  Instead, I provided a spec
> that sketched out appropriate details (and can be filled in further as
> necessary).  For the purpose of discussion of the idea, the two should
> be roughly equivalent.

I disagree.  They're not equivalent at all.  Not even roughly, not
even close.  One can be tested, reviewed, and subjected to experiments
in the real world.  The other is imaginary.

> Again, I'm aware that JS proposals often come with a reference
> implementation, or at least a sketch of one.  That's not strictly
> necessary to review and talk about a proposal, however.

To do so responsibly, I believe that it is.

> If you think
> that you are unable to even discuss the proposal without such a
> reference implementation, then I'm sorry that we will have to lose
> your voice until I have the time and engery to provide such.

Actually, I strongly doubt *anyone* is able to adequately discuss the
pros and cons of a proposal like this without an implementation.

I don't have anything else to contribute until there is a reference
implementation.  I'm not super motivated to write it myself, but I'd
be happy to test it out, or consult about any sticky issues you run
into, etc.

More information about the es-discuss mailing list