To construct the wave language a new type of programming is required. The basic idea is that all objects and everything in a program are defined as elements of a V space. When this is achieved, it’s possible to use other math theories and concepts in those spaces (digram-based group theory for example). This is a new programming approach. When objects are organized by symmetries, etc new capabilities may be achieved that are beyond the reach of current programming approaches.
The first step is to define base vectors in a V space. For this purpose, parameters and functions in a class should be structurally the same. It means in this approach class is a collection of some functions. For example, a very simple function (that will be used instead of parameters) gets a title and a range and outputs a variable with the given name which can store a value in the specified range.
Each base vector is a very simple (i.e. irreducible) function which does one thing only. A more complicated function is the sum of several base vectors. Then a class is a matrix containing some vectors. To construct an instance of a class, the matrix associated with that class should be multiplied by a “column matrix” that consists of inputs that initiate vectors in that class (column matrix here doesn’t refer to a 1d matrix because some functions might have more than one inputs – matrix in this structure is different from conventional matrices and is mentioned here as a description only to clarify things).