my vote is for neither.  exactly what industry painpoint or
problem-space do either of these proposals solve?

rather, they compound an existing industry painpoint; where
ocd-programmers have problems in deciding-and-choosing which es6
style/design-pattern to employ and stick with before coding even
begins. many of us wish there were less choices, like python (and a
more assertive tc39 that makes clear certain proposals are
productivity-negative and not open for debate) so we could get on with
the actual coding-part.

from a senior-engineer / technical-manager perspective, it also
doesn't help in managing an entire web-project; comprised of dozens of
sub-components that you didn't all write yourself; and having to
context-switch for each sub-component's quirky es6/es7/es8/es9
style-guide/design-pattern.

On 3/4/18, Isiah Meadows <[email protected]> wrote:
> Just thought I'd point out that the proposal itself entertains the
> possibility of a corresponding composition proposal [1]. Also, in my
> proposal, one of my "potential expansions" [2] would open a generic
> door for "lifting" over a type, addressing the concern of
> extensibility. (It's not ideal, and I just filed an issue in my repo
> for that, but that's orthogonal.)
>
> [1]: https://github.com/tc39/proposal-pipeline-operator#related-proposals
> [2]:
> https://github.com/isiahmeadows/function-composition-proposal#possible-expansions
>
> -----
>
> Isiah Meadows
> [email protected]
>
> Looking for web consulting? Or a new website?
> Send me an email and we can get started.
> www.isiahmeadows.com
>
>
> On Sat, Feb 24, 2018 at 5:40 AM, Naveen Chawla <[email protected]>
> wrote:
>> Although it doesn't allow composition with generator functions like the
>> composition proposal does, otherwise it's a pretty good solution.
>>
>> My only concern with pipeline is that since it offers a different way of
>> calling functions than the `()` syntax, it can lead to mixed and hence
>> slightly more confusing code when both `()` and `|>` are used. For example
>> multi arg and no-arg functions would still use `()`, and single arg
>> functions may or may not use `|>` depending on whether or not they may
>> prospectively use a pipeline. The composition operator doesn't supersede
>> the
>> `()` syntax in any context, and so it could be argued it would lead to
>> more
>> consistent, more readable code.
>>
>> On Sat, 24 Feb 2018 at 15:02 Peter Jaszkowiak <[email protected]> wrote:
>>>
>>> I'd like to point out the partial application operator:
>>> https://github.com/tc39/proposal-partial-application
>>>
>>> Sounds like the combination of pipeline + partial application would
>>> result
>>> in what is essentially the same as function composition operator:
>>>
>>> ```
>>> const h = ? |> f |> g;
>>> ```
>>>
>>> Which results in `h` being the composition `g • f`.
>>>
>>>
>>> On Feb 24, 2018 02:21, "Naveen Chawla" <[email protected]> wrote:
>>>
>>> That could be a problem for readability.
>>> I agree with the rest of what you said.
>>>
>>>
>>> On Sat, 24 Feb 2018 at 11:16 Viktor Kronvall <[email protected]>
>>> wrote:
>>>>
>>>> I don’t know the implications but I could easily imagine the pipeline
>>>> proposal being extended to not taking any input on the left hand side
>>>> and
>>>> effectively represent composition in the opposite direction.
>>>>
>>>> For example:
>>>> ```
>>>> let h = |> f |> g
>>>> h(2) //g(f(2))
>>>> ```
>>>>
>>>> That said, the point holds for the proposal in its current state. Being
>>>> able to compose functions
>>>> leads to much more expressivity than if you have
>>>> to call the pipeline (and collapse) where it is defined.
>>>> 2018年2月24日(土) 14:32 Naveen Chawla <[email protected]>:
>>>>>
>>>>> The function composition operator composes function pipelines into
>>>>> functions for later use and/or further composition. Those functions
>>>>> still
>>>>> need to be called via the existing `()` syntax, so it doesn't offer a
>>>>> different way of calling functions as such.
>>>>>
>>>>> The function pipeline operator calls the function pipeline immediately,
>>>>> so it is really only a different way of calling functions.
>>>>>
>>>>> On Fri, 23 Feb 2018 at 12:37 Jordan Harband <[email protected]> wrote:
>>>>>>
>>>>>> How is either operator not "a different way of calling functions"?
>>>>>>
>>>>>> On Thu, Feb 22, 2018 at 8:34 PM, Naveen Chawla <[email protected]>
>>>>>> wrote:
>>>>>>>
>>>>>>> I was just thinking about the relative merits and coexistence (or
>>>>>>> not)
>>>>>>> of function composition operator and function pipeline operator
>>>>>>> features:
>>>>>>>
>>>>>>> e.g.
>>>>>>>
>>>>>>> https://github.com/TheNavigateur/proposal-pipeline-operator-for-function-composition
>>>>>>> https://github.com/tc39/proposal-pipeline-operator
>>>>>>>
>>>>>>> They can of course co-exist, but there is overlap only in the respect
>>>>>>> that both allow function pipelines to be called from left to right
>>>>>>> (except
>>>>>>> the input parameter in the case of the composition feature, which
>>>>>>> requires
>>>>>>> existing bracket syntax to be used to call it). If one were to be
>>>>>>> chosen,
>>>>>>> would say that a function composition operator adds a whole new
>>>>>>> dimension of
>>>>>>> expressive power to the language, whereas a pipeline operator only
>>>>>>> offers a
>>>>>>> different way of calling functions.
>>>>>>>
>>>>>>> I was wondering about all of your thoughts about whether you'd prefer
>>>>>>> only the pipeline operator, only the composition operator, or both,
>>>>>>> or
>>>>>>> neither to be added to the language (these are pretty much all the
>>>>>>> possibilities), and why.
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>> _______________________________________________
>> 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
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to