ariatemplates/hashspace — pull request #41 by divdavem (2014-01-20 09:49:51+00:00)
Title: Transpiler (to replace a.b = c by $set(a,"b",c) in js code)

This pull request adds the transpiler.
The transpiler automatically does the following kinds of transformations in js code.

```js
a.b = c; /* becomes */ $set(a, "b", c);
a.b += c; /* becomes */ $set.op(a,"b","+=",c); /* and the same for other assignment operators */
delete a.b; /* becomes */ $set.del(a, "b");
a.b++; /* becomes */ $set.inc(a, "b");
a.b--; /* becomes */ $set.dec(a, "b");
++a.b; /* becomes */ $set.op(a, "b","+=", 1);
--a.b; /* becomes */ $set.op(a, "b", "-=", 1);

/* And this is added at the beginning of the output: */ var $set = require("hsp/$set");
```

This pull request does not add any automatic call to the transpiler in the compiler (this will probably have to be done in another pull request, making sure the error handling is done consistently).