- Does "this", "self", "it", whatever exist? I.e. a reference to the "current object context" for functions inside a class declaration. These can be extremely useful and help avoid creation of many new objects. For now, I have used "var a = new A(); a.self = a;"... but that isn't exactly pretty and is very error prone.
- “var x = new {};” is not accepted by the compiler as otherwise stated in the documentation. "var x = {};" is accepted, so no real sweat...
- "static" is allowed for class and enum declarations, but what are this supposed to mean?
- "C has :function" fails where C is a class (and work properly for object of C). Any particular reasons why one cannot test the presence of a method or variable in a class without instantiating it?
- "expr?expr:expr" construct is not mentioned in docs, but seems to work (with a very high preceedence).
- "f().a = 0;" fails with a syntax error - i.e. "f()" is not allowed in l-value expressions. Why? "f()" could return an object, so "f().a" could be a perfectly valid l-value.
- "a+2;" (as a statement) fails, but "(a+2);" does not. Why?
Most - if not all - of these questions could be answered if the documentation includes a reference section with the complete grammar (in EBNF?), and a list of all built-in operations and the valid operands... Any chance of getting that?