On Sun, Jul 25, 2010 at 4:57 PM, Maciej Stachowiak <[email protected]> wrote:
> > On Jul 24, 2010, at 11:51 AM, Mark S. Miller wrote: > > On Fri, Jul 23, 2010 at 10:37 AM, Oliver Hunt <[email protected]> wrote: > >> >> On Jul 23, 2010, at 10:32 AM, Brendan Eich wrote: >> >> > On Jul 23, 2010, at 10:27 AM, Oliver Hunt wrote: >> > >> > [Good point about LL(∞) snipped.] >> > >> >> * To give you an idea of how important parsing is, the 280 North folk >> once told me that parsing made up 25% of the load time for 280 Slides. >> > >> > Ollie, was that with browser-side Objective-J compilation, or with the >> server translating and feeding the Obj-J-lowered-to-JS code to the browser? >> >> I believe it was with the browser being passed preprocessed source, but >> i'll harass them to find out. >> >> > I have polled audiences at talks in the last year about shorter function >> syntax, see first two links at http://brendaneich.com/presentations/. >> Results mainly for fun but somewhat informative (to me at any rate) were not >> resoundingly in favor of a new and much shorter keyword to use instead of >> function. >> > >> > This was before >> http://wiki.ecmascript.org/doku.php?id=strawman:shorter_function_syntaxwas >> proposed, so I didn't ask the audiences to clap for its # syntax. >> > >> > People like the expression-closure idea, although syntax needs to be >> hammered out. See >> https://developer.mozilla.org/en/new_in_javascript_1.8#Expression_closures_%28Merge_into_own_page.2fsection%29<https://developer.mozilla.org/en/new_in_javascript_1.8#Expression_closures_(Merge_into_own_page.2fsection)> >> >> I personally am not too fussed about the reduced typing -- if people >> really wanted reduced typing we could simply adopt "\" which seems to be the >> common symbol used for a function. >> > > The reason I prefer "#" to "\" is simply that JavaScript source text > [fragments] frequently appear in literal strings. Right now, the only > quoting hazard this introduced is quotes and backslashes in nested literal > strings. (Is this true?). If you use backslash in syntax elsewhere in the > language, then it becomes an additional quoting hazard that's easy to miss. > > +1 on "#". > > > Good point about the escaping hazard. I think # may look funny to people > because it is a "noisy" symbol and also because it is a comment delimiter in > many languages. Two other characters totally disallowed in the syntax are @ > and `, I wonder if either of those would be more visually pleasing: > > [0, 1, 2, 3].map( #(x) {x * x} ) > [0, 1, 2, 3].map( `(x) {x * x} ) > [0, 1, 2, 3].map( @(x) {x * x} ) > > I also wonder if using a strictly binary operator might be workable without > creating syntax ambiguities: > > [0, 1, 2, 3].map( ^(x) {x * x} ) > [0, 1, 2, 3].map( *(x) {x * x} ) > [0, 1, 2, 3].map( %(x) {x * x} ) > > > I kind of like ` but it may be too visually subtle and may be confusing to > lisp users. @ seems less visually harsh than #. I like ^ for resemblance to > lambda, > Cool idea. Even better, it looks like an uppercase lambda: < http://en.wikipedia.org/wiki/Lambda>. If it doesn't create syntactic ambiguities, +1 on "^". > overall visual weight, and alignment with Apple's "blocks" extension to > C[1]. I have a vague memory that we discussed ^ before and discarded it, but > I can't find that discussion in the archives at the moment. > > Perhaps the strawman page for shorter function syntax should list reasons > for rejecting other syntax options. I would be happy to document the reasons > against fn, fun, f and \, but I can't seem to remember my username and > password (I'm not even sure if I have an account). Who can help with wiki > access issues? > I think that would be Brendan. > > Regards, > Maciej > > [1] http://en.wikipedia.org/wiki/Blocks_(C_language_extension) > > -- Cheers, --MarkM
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

