So this was a cool class project that I worked on where we were to implement a lambda calculus interpreter in any language of our choice. It just seemed too natural to do this in Scheme. :)
It attempts to implement both alpha and beta reductions.
The following code for the interpreter is also available as a gist, with test cases: https://gist.github.com/VijayKrishna/5180292.js