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.
ChalkBoard Links
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.