For anyone who uses this in an app, my guess is that it makes debugging (in firebug etc) kinda annoying? I mean, even though it maps directly to JavaScript, the mental context switch between what you see in firebug and the code you've written would take getting used to?
We're trying to be pretty careful about keeping the compiled JS debuggable. To that end:
* The compiled output is pretty-printed instead of minified.
* Comments are passed through in-place to JavaScript.
* All functions are named functions, so instead of a stacktrace full of "anonymous", you can situate yourself.
* There's a "no special functions" rule -- CoffeeScript translates directly into JS without a standard library, which means that theres a one-to-one correspondence between your source code and its JavaScript equivalent, so it's not too hard to untangle.
That said, the temporary variable that we need to generate for some features are a little ugly, and sometimes we need to generate extra safety checks because we don't know certain things at compile time (such as, for example if a range counts upwards or down). Any suggestions for how to make the compiled JS more easily readable would be warmly welcomed.
My dream would be to be able to decompile JS into CoffeeScript, so I could make changes in either form. That would probably be difficult to do for some of the more advanced features, though.
For anyone who uses this in an app, my guess is that it makes debugging (in firebug etc) kinda annoying? I mean, even though it maps directly to JavaScript, the mental context switch between what you see in firebug and the code you've written would take getting used to?