Hi,
I have looked at the links and as I understand they are trying to accomplish
something slightly different, by adopting code as kind of data, though it is
interesting, too (and your are true do-expressions do it elegantly, except
for the "explicit zero-arg lambda" thing (I think || is not tragedy)".
I was trying to do something different - not bring code verbatim into data,
but powerful code constructs into data - I had posted it in thread "RFC:
Empowered data - unification of code block and object literal(and class)".
It more a unification of code block and data block to be more similar in
appearance as well as expressiveness (while retaining their
imperatice/declarative nature).
As for the "empty-block/object issue" I realized it is a non-issue (or,
little issue), I was freaked out. :-) This is old known things that {}.f()
does not work until one parenthesizes {} and it is the same (anooying, but
nothing breakingly new) category of quirk.
Herby
P.S.: Still got no comment on above-mentioned thread. :-(
P.P.S.: And back to boolean shortcuts: would there be a possibility (and
demand for them)? I posted my '{ value: "foo", configurable, writable,
!enumerable }' and 'var !done, !!soFarSoGood' and someone mentioned there is
this kind of proposal in CoffeeScript land which goes more like '{ value:
"foo", +configurable, +writable, -enumerable }' and 'var -done,
+soFarSoGood'.
-----Pôvodná správa-----
From: Brendan Eich
Sent: Thursday, January 05, 2012 12:03 AM
To: es-discuss
Subject: Re: Boolean shortcuts
On Jan 4, 2012, at 2:56 PM, Brendan Eich wrote:
On Jan 4, 2012, at 1:57 PM, Herby Vojčík wrote:
Hi,
as I already posted in the parallel thread, there is that strawman called
"do expression" by dherman that does just that.
I feel like crying when I see how powerful data constructs could be if
not hampered by "possible to parse as code block" ambiguity.
Yes, I have felt like crying too -- I did some work (see
https://mail.mozilla.org/pipermail/es-discuss/2011-June/015568.html)
I should have also linked:
http://wiki.ecmascript.org/doku.php?id=strawman:block_vs_object_literal
Of course,
http://wiki.ecmascript.org/doku.php?id=strawman:do_expressions
is much simpler.
Neither addresses the empty-block/object issue by trying to evaluate {} as
an object literal where today it's a block statement.
/be
_______________________________________________
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