Ground expressions are especially convenient for representing symbolic (i.e. not purely numeric) data, organized in a "linear" or "tree" fashion.
For example, suppose we want to deal with algebraic formulae represented by ground expressions. In this case, we have to devise a way of representing constants, variables, and formulae formed by applying a binary operator to two smaller formulae. We may choose, for example, the following representation.
[p+q] = ("plus" [p] [q] ) [p-q] = ("minus" [p] [q] ) [p*q] = ("mult" [p] [q] ) [p/q] = ("div" [p] [q] ) [pq] = ("power" [p] [q] )
(X+Y2)-512is to be represented by the ground expression
("plus" ("minus" X ("power" Y 2)) 512)
The next example is the problem of representing chess positions by ground expressions.
(("white" "King") ("g" 5)) (("black" "King") ("a" 7)) (("white" "Pawn") ("c" 6)) (("white" "Knight") ("g" 1)) (("black" "Knight") ("a" 8))