Sortal grammars   Index


Sortal grammars are a formalism (or rather, a class of formalisms) for design grammars. Sortal grammars utilize sortal structures as representational structures, benefitting from the fact that every component sort specifies a partial order relationship on its individuals and forms, defining both the matching operation and the arithmetic operations for rule application.


Sortal grammars extend on shape grammars and color grammars, both of which allow for (a limited) variation in the formalism they prescribe.

  • Shape grammars (Stiny 1980)1 commonly rely on labeled shapes, a combination of line segments and labeled points (in two dimensions), but can include plane segments and volumes (in three dimensions). Stiny (1992)2 also proposes numeric weights as shape attributes to denote line thicknesses or surface tones.
  • Color grammars (Knight 1989; 1993)3 allow for a variety of qualitative aspects of design, such as color, to be integrated in the rules of a shape grammar. Though not specific to colors, notions of transparency, opacity and ranking are introduced to regulate the behavior of interacting quality-defined plane segments or volumes.

In sortal grammars, shapes may be either the object or the attribute in the relationship, or both (or neither). Any sort can serve as object or attribute and sortal structures can extend multiple levels deep.

Current developments focus on a sortal grammar interpreter (SortalGI) library and API in the Python programming language. If so desired, the SortalGI library can be accessed from within the Rhino 3D modeling environment and is also available as a Rhino/Grasshopper plug-in.

The SortalGI library supports both parametric and non-parametric shape grammars, including line segments, plane segments, points, (non-parametric) circular and elliptical arcs, labels, weights, colors, enumeratives, and (parametric) descriptions, in 2D and 3D. Emergence is naturally supported. Note that the Grasshopper plug-in (currently) only supports non-parametric line segments and labeled points.


  1. G. Stiny, 1980, Introduction to shape and shape grammars, Environment and Planning B: Planning and Design 7(3), 343–351.
  2. G. Stiny, 1992, Weights, Environment and Planning B: Planning and Design 19(4), 413–430.
  3. T.W. Knight, 1989, Color grammars: designing with lines and colors, Environment and Planning B: Planning and Design 16(4), 417–449.
    T.W. Knight, 1993, Color grammars: the representation of form and color in design, Leonardo 26(2), 117–124.

Last update: 1 December 2017, webmaster @