Functional Programming and Geometric Modeling

Functional programming enjoies several good properties:

The set of rules is very small
Each rule is very simple
Program code is concise and clear
The meaning of a program is well understood (no state)
Functions both as programs and as data
Programs connected by concatenation and nesting

Also, a complex shape is an assembly of components, highly dependent from each other.

each part results from computations involving other parts
where a generating function is associated to each part
and where geometric expressions appear as actual parameters

Resulting in a natural environment for geometric computations.
A brief outline of the FL approach to functional programming is given in the following with an introduction to the design language PLaSM. This language can evaluate polyhedral expressions, i.e. expressions whose value is a polyhedral complex. It is also able to combine functions to produce higher-level functions in the FL style, so that it can be roughly considered a geometry-oriented extension of FL.

PLaSM is Free Software and may be distributed under GNU LGPL