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.