Out of interest, how does coffeescript scale, and can it start to get unreadable?<p>I worry the compression, while cute, could start to get a little extreme after a while, for example:<p>class Shape<p><pre><code> constructor: (@x, @y) ->
centre: -> [ @x, @y ]
area: -> 0
</code></pre>
is starting to look close to unreadable and overcompressed (in particular, the constructor implicitly declaring member variables).<p>Also having a quick look through the bug reports, there seems to be some interesting inconsistencies, such as:<p>x for x in [1,2,3]
# x == 3<p>x for x in [1..3]
# x == 4<p>I also see a complaint that:<p>foo bar: 'baz', quux('onoz')<p>Won't parse. I understand this should parse as:<p>foo({bar:'baz'}, quux('onoz'))<p>Both of these, and other little things I've seen, make me think coffeescript is more of a giant bag of good ideas, rather than a well-thought out language. In particular, is there a clear unambiguous grammar for it anywhere? I can't find one.