------------ Code Colours ------------ In order to parse an APL expression we need to know the "kinds" of any names it contains: array, function, monadic-operator or dyadic operator. As an example, the following line has different interpretations depending on whether the names "print" and "title" refer to arrays, functions or operators: report ← lines print title pages To enhance readability, the convention used to display code in these pages is: Kind Font Colour ---- ---- ------ array normal black function italic black monadic-operator italic medium blue dyadic-operator italic lighter blue Kind-colouring the sample line above shows various different interpretations. In particular, it helps to highlight functions and operators: report ← lines print title pages ⍝ function print with right argument pair report ← lines print title pages ⍝ monadic function title report ← lines print title pages ⍝ monadic operator title report ← lines print title pages ⍝ dyadic operator print report ← lines print title pages ⍝ report is a function train (fork) In addition to names, parentheses and curly braces use the same colour scheme to indicate the kind of expression they contain. There is one exception: only curly braces that define operators are italicised. This means that braces that define functions are in normal font, leaving the emphasis for in-line operator definit- ions. (+⌿÷⍵)+(+⌿÷≢)(⍣≡)⍺{⍺}{⍺ ⍺⍺ ⍵}{⍺ ⍺⍺ ⍵⍵ ⍵}{⍵}⍵ Notice how italic parentheses help to identify function trains. Names and parentheses whose kind cannot be inferred are coloured red. rand ← (1+⍺⍺) ⍝ operand ⍺⍺ may be array or function See →kk← for discussion and details.