CWTGF: basic functions

Basic Functions of writtenPAM

The functions first and rest operate on text-graphic patterns. first returns a copy of the first text-graphic object in a pattern, and rest returns a copy of the remainder of the pattern.

 

A word about the notation conventions used here. Text-graphic objects themselves are drawn with thick black lines, e.g. , , and , and are quoted when appropriate using or . Algorithms are presented with a "blackboard notation" Algol-like syntax; bold fixed width font is used for function and variable names like first, rest, patcons, and tg.Tree structure is represented by fine lines, sometimes terminated by the empty pattern symbol for clarity. In a sense, this whole paper is just a note on the consequences of a tree notation for visual objects that allows the generalization of LISP to text-graphic forms.


 

 


patcons is the pattern constructor. It takes two arguments, the second of which must be a pattern. patcons returns a new pattern constructed by putting its first argument onto the front of its second argument.

 
 

 


Then there are the three spatial functions, locate, rotate and scale. locate takes two arguments, an object and a new location. It returns a copy of the object at the new location.

 

rotate also takes two arguments, an object and the number of degrees the object is to be rotated. It returns a copy of the object rotated clockwise through the angle specified.

 

And scale takes two arguments, an object and the factor by which the object is to be scaled. It returns a copy of the object scaled by that factor.