The Rasterfun language / library has a two level representation of rasters - a first geometry definition stage has basic primitives like points, lines, areas, and a standard library with common shapes such as circles. It also allows definition of custom shapes with own parameters.
The second level is rendering these geometrical shapes to a raster grid of some resolution, using per shape defined functions that are applied for each raster pixel, and take interpolated geometry parameters as input (for example position on the shape) and produce various output values for the raster pixel (for example color, or terrain height).
Various noisefunctions and matemathical functions are provided as a standard library, and the user can build up own custom functions using these.
Rasterfun can be used for example for image or texture rendering, or terrain height calculation.