I was going to call this an algorithm for "transpilation". Some people don't like that word; I don't have a problem with coining new words, and there is a rise of source to source-language that is useful.
However, that is not what we're describing here. We're talking about converting source code WITH COMMENTS. AND WHITESPACE.
CoffeeScript removes comments. Only block comments are preserved.
http://stackoverflow.com/questions/9724206/maintaining-comments-in-js-files-after-compilation-from-coffee
NOTE: I'm going to do this again for bootstrapping! Not only convert sh to oil, but convert a subset of Python to oil!