So, Arc came out about a week ago, and I tried to stay away, but it was just too tempting. I ended up spending a week porting it to JavaScript. You can download the implementation as either a single file or as a tarball. The unit tests assume you have JSUnit installed and accessible. Notes & deviations from the reference implementation: Supports Unicode, at least as well as JavaScript supports it