Intentional deviations from jashkenas coffee script
Clone this wiki locally
The goal of this page is to build an exhaustive list of deviations (either in accepted language or output semantics) from jashkenas/coffee-script.
Intentional deviations will not be listed here, as the command line and module interfaces have been drastically changed. It was never a goal of this project to have compatible interfaces suitable for drop-in replacement.
About CS bugs fixed in Redux
Many bugs from jashkenas/coffee-script have been fixed in this implementation. I tagged all open bugs which were fixed by this project with
fixed in redux.
Although some have since been fixed in jashkenas/coffee-script, many are still open. At the time of this writing: 37 are still open; 91 have been closed.
A couple quick examples:
coffee-script #1275: The most notable
fixed in reduxbug—which involves a fairly major change to the language—is the sub-block terminator issue. Each indentation level must be consistently indented until its parent is closed.
coffee-script #1601: Fixed in redux. This issue proposed removing the postfix operator (
And now, on to the deviations!
coffee-script #2323: Explicit
require.extensionsregistration. In order to require
.coffeefiles, you must explicitly register the CoffeeScript compiler instance with that extension. Simply call the module’s
CoffeeScript.registermethod or require
This corresponds to the planned change in jashkenas/coffee-script#2323, but it is not implemented yet in jashkenas/coffee-script, so could easily trip people up.
#43: Assignment as right operand of higher-precedence infix operators.
finallyblock, where the
finallyblock is empty. This implies an empty
catch, just like