ChalkBoard is a domain specific language for describing images. The ChalkBoard language is uncompromisingly functional and encourages the use of modern functional idioms. ChalkBoard uses off-the-shelf graphics cards to speed up rendering of functional descriptions. In this paper, we describe the design of the core ChalkBoard language, and the architecture of our static image generation accelerator.


Semantic Model Image Generation Graphic Card Functional Programming Functional Language 
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.
    Peyton Jones, S. (ed.): Haskell 98 Language and Libraries – The Revised Report. Cambridge University Press, Cambridge (2003)zbMATHGoogle Scholar
  2. 2.
  3. 3.
    The Glasgow Haskell Compiler,
  4. 4.
    Elliott, C.: Functional images. In: The Fun of Programming. Cornerstones of Computing, Palgrave (March 2003)Google Scholar
  5. 5.
    Gill, A., Hutton, G.: The worker/wrapper transformation. Journal of Functional Programming 19(2), 227–251 (2009)CrossRefzbMATHGoogle Scholar
  6. 6.
    Peyton Jones, S., Vytiniotis, D., Weirich, S., Washburn, G.: Simple unification-based type inference for gadts. In: ICFP 2006: Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming, pp. 50–61. ACM, New York (2006)CrossRefGoogle Scholar
  7. 7.
    Gill, A.: Type-safe observable sharing in Haskell. In: Proceedings of the 2009 ACM SIGPLAN Haskell Symposium (September 2009)Google Scholar
  8. 8.
    McBride, C., Patterson, R.: Applicative programing with effects. Journal of Functional Programming 16(6) (2006)Google Scholar
  9. 9.
    Reade, C.: Elements of functional programming. Addison-Wesley, Wokingham (1989)zbMATHGoogle Scholar
  10. 10.
    Hudak, P.: The Haskell school of expression: learning functional programming through multimedia. Cambridge University Press, New York (2000)Google Scholar
  11. 11.
    Henderson, P.: Functional geometry. In: LFP 1982: Proceedings of the 1982 ACM symposium on LISP and functional programming, pp. 179–187. ACM, New York (1982)CrossRefGoogle Scholar
  12. 12.
    Arya, K.: Processes in a functional animation system. In: FPCA 1989: Proceedings of the fourth international conference on Functional programming languages and computer architecture, pp. 382–395. ACM, New York (1989)CrossRefGoogle Scholar
  13. 13.
    Findler, R.B., Flatt, M.: Slideshow: functional presentations. J. Funct. Program. 16(4-5), 583–619 (2006)CrossRefzbMATHGoogle Scholar
  14. 14.
    Carlsson, M., Hallgren, T.: Fudgets: a graphical user interface in a lazy functional language. In: FPCA 1993: Proceedings of the conference on Functional programming languages and computer architecture, pp. 321–330. ACM, New York (1993)CrossRefGoogle Scholar
  15. 15.
    Elliott, C., Schechter, G., Yeung, R., Abi-Ezzi, S.: TBAG: A high level framework for interactive, animated 3D graphics applications. In: SIGGRAPH (1994)Google Scholar
  16. 16.
    Elliott, C.: From functional animation to sprite-based display. In: Gupta, G. (ed.) PADL 1999. LNCS, vol. 1551, p. 61. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  17. 17.
    Elliott, C., Finne, S., de Moor, O.: Compiling embedded languages. Journal of Functional Programming 13(2) (2003)Google Scholar
  18. 18.
    Elliott, C.: Programming graphics processors functionally. In: Proceedings of the 2004 Haskell Workshop. ACM Press, New York (2004)Google Scholar
  19. 19.
    Elliott, C., Hudak, P.: Functional reactive animation. In: International Conference on Functional Programming (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Kevin Matlage
    • 1
  • Andy Gill
    • 1
  1. 1.Information Technology and Telecommunication Center, Department of Electrical Engineering and Computer ScienceThe University of KansasLawrenceUSA

Personalised recommendations