A Short Aside about Data Types

Experienced programmers may be wondering about the variables V1 and Temp, used in the Functions and Control Flow Section. What data type are they? Are they bytes, integers, long integers, reals or double-length reals? In Pascal, you declare the function as:

function Show(V1, V2 : integer) : integer

whereas in Explain™ it is:

function Show(V1, V2)

In Explain, the type accompanies the piece of incoming data! In this example, the variable V1 in Show acquires the type and value of A in SwapPrint. Also, when the statement Temp = A is executed, the variable Temp acquires the type and value of A. This lack of data-typing for function arguments comes from Explain's Smalltalk heritage.