Skip to Content

ChalkBoard

ChalkBoard is a Haskell-hosted Domain Specific Language (DSL) for image generation and processing. The basic structure is a chalk Board, a two-dimensional canvas of values, typically colors. ChalkBoard provides the usual image processing functions (masking, overlaying, function mapping, cropping, warping, rotating, etc.) as well as a few more unusual ones. Images can be imported into ChalkBoard as first-class color Boards. ChalkBoard also provides combinators for drawing shapes directly on boards. The system is based loosely on Pan, but the principal image type, a Board, is abstract.

Download

We believe that ChalkBoard is a viable and useful research platform for experimenting with applied functional programming. It is experimental, and everything might change! The primary concepts (functor-based transformations of images, OpenGL acceleration) will remain, but we are still trying to balance and tune our observable sub-language. Applicative functors are also sure to follow, and many more experiments are needed.

ChalkBoard is available from the Haskell package server hackage. The latest version of the core ChalkBoard package is available here.

Install Issues

The use of the DevIL image library might cause some issues on MacOSX. We use port install to install this, which seems to require Xcode 3.1.


ChalkBoard Paper

2009
Matlage, K., and A. Gill, "ChalkBoard: Mapping Functions to Polygons", 21st International Symposium on Implementation and Application of Functional Languages: LNCS 6041, 11/2009. Abstract