K. Matlage and A. Gill, “Every animation should have a beginning, a middle, and an end,” in Post-Proceedings of Trends in Functional Programming, vol. 6546 of LNCS, Springer-Verlag, May 2010.



Animations are sequences of still images chained together to tell a story. Every story should have a beginning, a middle, and an end. We argue that this advice leads to a simple and useful idiom for creating an animation Domain Specific Language (DSL). We introduce our animation DSL, and show how it captures the concept of beginning, middle, and end inside a Haskell applicative functor we call Active. We have an implementation of our DSL inside the image generation accelerator, ChalkBoard, and we use our DSL on an extended example, animating a visual demonstration of the Pythagorean Theorem.


  title = {Every Animation Should Have a Beginning, a Middle, and an End},
  author = {Kevin Matlage and Andy Gill},
  booktitle = {Post-Proceedings of Trends in Functional Programming},
  month = {May},
  year = {2010},
  publisher = {Springer-Verlag},
  series = {LNCS},
  volume = {6546},