... sort of (no pun intended) ```js let sorted = names.sort((...$) => $[0] > $[1]); ```
Regards On Mon, Oct 12, 2015 at 2:58 AM, Frankie Bagnardi <[email protected]> wrote: > I don't think there's much value in this. Also sort is a bad example > because it'd look like this, and there's no nifty shortcut answer to it. > > ```js > names.sort((a, b) => a < b ? 1 : a > b ? -1 : 0); > ``` > > In most cases you save a couple characters, but you can just use > x/y/a/b/f/g/n/xs/xss for variable names in arrow functions instead of the > $0 (which would likely be \0 in js). > > > > On Sun, Oct 11, 2015 at 3:26 PM, Caitlin Potter <[email protected]> > wrote: > >> In the case of sorting, are arrow functions not good enough? Or are we >> really asking for full continuation support >> >> On Oct 11, 2015, at 5:51 PM, Alexander Jones <[email protected]> wrote: >> >> IMO this is a good idea. When it's abundantly clear from context, I've >> already been naming my arrow function params _ if singular, and _1, _2 etc >> if several. As always, picking some punctuation straight from the scarce >> and sacred set of remaining ASCII symbols is going to be tricky. (If only >> we could just go APL on this!) >> >> On 11 October 2015 at 16:45, Mohsen Azimi <[email protected]> wrote: >> >>> Is it possible to extend JavaScript syntax to support Swift style block >>> syntax[1]? >>> >>> In Swift it's possible to omit return keyword >>> ``` >>> >>> 1. reversed = names.sort( { s1, s2 in s1 > s2 } ) >>> >>> ``` >>> >>> or omit argument declaration like this: >>> >>> ``` >>> >>> 1. reversed = names.sort( { $0 > $1 } ) >>> >>> ``` >>> >>> or apply an operator to arguments of a function >>> >>> ``` >>> >>> 1. reversed = names.sort(>) >>> >>> ``` >>> We have the first feature in ES2015 already: >>> >>> ``` >>> let sorted = names.sort((a, b)=> a > b); >>> ``` >>> >>> But for omitting argument declaration we need to find an alternative to >>> $0, $1... since those are valid variable names in JS. Maybe we can use #0, >>> #1... instead. >>> >>> This is very useful for functional programming aspect of JS. For example >>> in a filter function: >>> >>> ``` >>> let passed = objs.filter(#0.passed) >>> ``` >>> >>> >>> >>> >>> [1][ >>> https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html >>> ] >>> >>> _______________________________________________ >>> 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

