Interesting and impressive from a technological perspective but wouldn't sweet.js make your code harder to debug? Macros in C are hell. Have you seen functions with ifdef littered everywhere? Why would anyone want this in JavaScript? JavaScript is dynamic enough to not need a crutch like this in my opinion. At least with CoffeeScript you're not mixing contexts. Everything is either CoffeeScript or JavaScript.