It looks like this is different to the existing pipeline proposal in
essentially only one way, in that it includes the `#` token (or lexical
topic as you call it). I like that the proposal addresses `await` and other
unary operators by default since it supports any expression on the
right-hand side given a lexical topic is involved.

One thing you may consider is automatic binding of unary operators similar
to the automatic binding of unary functions / methods / constructors. For
instance, this would enable `x |> await |> fn` or `x |> typeof |> fn`.
However, this may not be forwards-compatible. If someone had `x |> run |>
fn` where `run` is a function name, and then `run` was introduced as an
operator, you would have to define what takes precedence.

Overall, great job. I like it more that the existing proposal, and I have
high hopes.

- Peter

On Fri, Mar 9, 2018 at 4:04 PM, J. S. Choi <[email protected]> wrote:

> I’d like to ask for feedback/criticism on a *detailed explainer and
> specification for Smart Pipelines* plus several possible extensions.
>
>    - Readme *explainer*
>    <https://github.com/js-choi/proposal-smart-pipelines/>:
>    https://github.com/js-choi/proposal-smart-pipelines/
>    <https://github.com/js-choi/proposal-smart-pipelines/>
>    - Formal *spec* <https://jschoi.org/18/es-smart-pipelines/spec.>:
>    https://jschoi.org/18/es-smart-pipelines/spec.
>    <https://jschoi.org/18/es-smart-pipelines/spec.>
>
> There is a simple “actual” *Core Proposal* at Stage 0 championed by
> Daniel Ehrenberg, plus several optional *Additional Features* that extend
> the Core Proposal and address several other use cases. Daniel will present
> the Core Proposal at the next TC39 meeting, in several weeks at London.
>
> The Core Proposal is a variant of the first pipeline-operator proposal
> <https://github.com/tc39/proposal-pipeline-operator/blob/37119110d40226476f7af302a778bc981f606cee/README.md>
>  also
> championed by Ehrenberg; this variant is listed as Proposal 4: Smart Mix in
> the pipe-proposal wiki
> <https://github.com/tc39/proposal-pipeline-operator/wiki#proposal-4-smart-mix>.
> The variant resulted from previous discussions in the previous
> pipeline-operator proposal
> <https://github.com/tc39/proposal-pipeline-operator/issues?q=placeholder>,
> discussions which culminated in an invitation by Ehrenberg to try writing
> a specification draft
> <https://github.com/tc39/proposal-pipeline-operator/issues/89#issuecomment-363853394>.
> A prototype Babel plugin is also being written.
>
> I should stress that the Additional Features are separate, optional and
> mutually independent add-on proposals. The Additional Features show the
> potential of simply extending the Core Proposal to handle other use cases
> (such as composition, partial application, and method extraction). And I’ve
> attempted to keep the Core Proposal forward compatible with all of the
> additional features.
>
> If you have any questions after reading the explainer and specification,
> please feel free to file an issue on the GitHub issue tracker
> <https://github.com/tc39/proposal-pipeline-operator/issues>. When you
> file an issue, please note in it that you are talking specifically 
> about“Proposal 4:
> Smart Mix”
> <https://github.com/tc39/proposal-pipeline-operator/wiki#proposal-4-smart-mix>.
> Or leave a comment here.
>
> Warm regards, J. S. Choi
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to