From Functional Animation to Sprite-Based Display

  • Conal Elliott
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1551)


Functional animation encourages a highly modular programming style, by supplying a set of arbitrarily composable functions for building up animations. In contrast, libraries for sprite-based display impose rigid structure, in order to allow acceleration by hardware and low level software. This paper presents a method to bridge the gap between functional specification and stateful, sprite-based presentation of animation. The method’s correctness is proved informally by derivation from a simple non-effective specification, exploiting algebraic properties of the animation data types that are made explicit in the functional approach. We have implemented this method in the Fran system, which is freely available.


Algebraic Property Animated Object Video Memory Animated Image Request Channel 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Kavi Arya. A functional animation starter-kit. Journal of Functional Programming, 4(1):1–18, January 1994.CrossRefGoogle Scholar
  2. [2]
    Conal Elliott. A brief introduction to Active VRML. Technical Report MSR-TR-96-05, Microsoft Research, 1996.
  3. [3]
    Conal Elliott. Modeling interactive 3D and multimedia animation with an embedded language. In The Conference on Domain-Specific Languages, pages 285–296, Santa Barbara, California, October 1997. USENIX. WWW version at
  4. [4]
    Conal Elliott. Composing reactive animations. Dr. Dobb’s Journal, July 1998. Extended version with animations at,
  5. [5]
    Conal Elliott. From functional animation to sprite-based display (extended version). Technical Report MSR-TR-98-28, Microsoft Research, 1998.
  6. [6]
    Conal Elliott. Functional implementations of continuous modeled animation. In Proceedings of PLILP/ALP’ 98, 1998. Extended version, MSR-TR-98-25,
  7. [7]
    Conal Elliott and Paul Hudak. Functional reactive animation. In Proceedings of the 1997 ACM SIGPLAN International Conference on Functional Programming, pages 263–273, Amsterdam, The Netherlands, 9–11 June 1997.
  8. [8]
    Paul Hudak and Joseph Fasel. A gentle introduction to Haskell. SIGPLAN Notices, 27(5), May 1992. See for latest version.
  9. [9]
    Paul Hudak, Simon L. Peyton Jones, and (editors) Philip Wadler. Report on the programming language Haskell, A non-strict purely functional language (Version 1.2). SIGPLAN Notices, Mar, 1992. See for latest version.
  10. [10]
    Simon Peyton Jones, Andrew Gordon, and Sigbjorn Finne. Concurrent Haskell. In Conference Record of POPL’ 96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 295–308, St. Petersburg Beach, Florida, 21–24 January 1996.Google Scholar
  11. [11]
    John Peterson, Conal Elliott, and Gary Shu Ling. Fran user’s manual, Revised February, 1998.

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Conal Elliott
    • 1
  1. 1.Microsoft ResearchUSA

Personalised recommendations