A test-driven assessment of Javascript's functional features

I recently presented to the Interface Development team at LBi on “Functional programming in Javascript”. You can view the slides here.

As part of this presentation I also developed a test-driven assessment of Javascript’s functional features such as partial application, currying, recursion and continuation-passing style.

In order to ensure the developer cannot use “stateful” operations such as for and while loops and mutation methods such as pop and push I used esprima to statically analyse their solutions. If the developer tries to use one of these operations the tests will throw an error.

All of the instructions for downloading and completing the tests are available on Github. I’d be very interested to hear any thoughts or suggestions you may have about how these can be improved.