In ECMAScript's current state, infix operators would likely complicate future discussions of operator overloading. Before we tackle these problems, I think it's more convenient to have type annotations first.
On Friday, February 2, 2018 12:55:17 PM CET Thomas Grainger wrote: > I'm porting this from the TypeScript issue tracker, original from: > https://github.com/Microsoft/TypeScript/issues/2319#issue-60851953 > > Since it's very unlikely that the extension methods will ever be > implemented [in a call-site-rewrite > manner](https://github.com/Microsoft/TypeScript/issues/9# > issuecomment-74302592), > please consider adding infix operators to enable writing in functional > style similarly to what can be done in Haskell: > > Monoids > > ```js > > function '+' (left, right) { > return left.concat(right); > } > > [1, 2, 3] '+' [4, 5]; // [1, 2, 3, 4, 5] > > ``` > > Monads > > ```js > function '>>=' (promise, bind) { > return promise.then(bind); > } > $.get('/get') '>>=' x => $.post('/save', x + 1) > ``` > > Functors > > ```js > function '.' (inner, outer) { > return function(value: a) : c { > return outer(inner(value)) > } > } > > function f(x) { } > function g(y) { } > (f '.' g)(x); // z > ``` > > > > Thomas Grainger
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss