For a little bit of fun, I used CPS(contiuation-passing style) and
FRP(functional reactive programming)
to build a demo animating merge-sort in parallel:
http://www.cs.bu.edu/~hwxi/academic/courses/CS520/Spring15/code/lecture-04-08/Bacon.js/mergesort/
http://www.cs.bu.edu/~hwxi/academic/courses/CS520/Spring15/code/lecture-04-08/Bacon.js/mergesort/mergesort2.html
Cheers!