Functional synthesis of images and animations.
Propane is a system for synthesizing images and animations, in the spirit of Pan (http://conal.net/Pan/) and many other projects. The core idea is that an image is a function assigning a colour to each point in the plane. Similarly, an animation assigns an image to each point in time. Haskell's tools for functional and declarative programming can be used directly on images and animations.
Several examples are provided, in the examples/
directory.
Propane uses the Repa array library. This means that Propane automatically uses multiple CPU cores for rendering, provided the program is compiled and run with threads enabled. That said, the implementation has not yet been optimized for speed.
Propane is a modest toy right now, but there are vague plans to make it do fancy things. Please contact the author with suggestions or code!