Explainer/Spec: Smart pipelines

2018-03-09 Thread J. S. Choi
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/
Formal 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 also 
championed by Ehrenberg; this variant is listed as Proposal 4: Smart Mix in the 
pipe-proposal wiki. The variant resulted from previous discussions in the 
previous pipeline-operator proposal, discussions which culminated in an 
invitation by Ehrenberg to try writing a specification draft. 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. When you file an issue, 
please note in it that you are talking specifically about“Proposal 4: Smart 
Mix”. Or leave a comment here. 

Warm regards, J. S. Choi

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


Re: Explainer/Spec: Smart pipelines

2018-03-09 Thread Peter Jaszkowiak
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  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/
>
>- Formal *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
> 
>  also
> championed by Ehrenberg; this variant is listed as Proposal 4: Smart Mix in
> the pipe-proposal wiki
> .
> The variant resulted from previous discussions in the previous
> pipeline-operator proposal
> ,
> discussions which culminated in an invitation by Ehrenberg to try writing
> a specification draft
> .
> 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
> . When you
> file an issue, please note in it that you are talking specifically 
> about“Proposal 4:
> Smart Mix”
> .
> Or leave a comment here.
>
> Warm regards, J. S. Choi
>
> ___
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: Explainer/Spec: Smart pipelines

2018-03-09 Thread J. S. Choi
ESDiscuss.org stripped much of the formatting from my original message. To give 
the links in plain text:

Readme explainer: https://github.com/js-choi/proposal-smart-pipelines/

Formal spec: https://jschoi.org/18/es-smart-pipelines/spec

Issue tracker (please specify Proposal 4 in new issues): 
https://github.com/tc39/proposal-pipeline-operator/issues?utf8=✓=sort%3Aupdated-desc+

List of all current pipeline proposals: 
https://github.com/tc39/proposal-pipeline-operator/wiki

Warm regards,
J. S. Choi

> On Mar 9, 2018, at 3:04 PM, J. S. Choi  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/
> Formal 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 also 
> championed by Ehrenberg; this variant is listed as Proposal 4: Smart Mix in 
> the pipe-proposal wiki. The variant resulted from previous discussions in the 
> previous pipeline-operator proposal, discussions which culminated in an 
> invitation by Ehrenberg to try writing a specification draft. 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. When you file 
> an issue, please note in it that you are talking specifically about“Proposal 
> 4: Smart Mix”. Or leave a comment here. 
> 
> Warm regards, J. S. Choi
> 
___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss