Pan is an experimental embedded language and compiler for image synthesis and manipulation, based on principles from functional programming. You can get the compiler and do some Haskell programming do make your own effects, or get some of the precompiled effects and twiddle parameters to your heart's content. It's fun! Check out the gallery to see what we're talking about. To understand what's going on, see the papers.
The Pan compiler turns descriptions of images and image effects into efficient machine code for use with either a stand-alone program, DirectXTransform for web-page embedding (viewable with IE 5.5 or later), or as a PhotoShop plug-in for use with hosts like Adobe PhotoShop® and JASC PaintShop Pro. (We have only tried our plug-ins with the latter.)