The philosophy that has inspired PWK is that of simplicity, to achieve this a great job has been done. Now the result is available to everyone and has great application potential .To help you to uderstand the key points of the language, this short article.
POWER-KI structure is essentially that of a knowledge base. There are elements that contain information, such as VAR, execution elements as the EXO (EXecutable Object) or methods, elements of pure code, and elements for flow control (IF, WHILE ..), all placed formally on the same footing but distinct from the executive point of view.
In each element can be defined symbols (pair name, value). They are the equivalent of constants and variables of traditional languages. The value, assignable in every time of execution, may be a NV (Numerical Value) or a NNV (Not Numerical Value), then the symbols are not typed but may be used in various contexts, in function of their content. System functions (IsNum, IsFLt ..) allow you to check, at run time, the content type.
The executables Items, callable from other parts of the program are mainly EXO, the MTDH, and THREAD. They are recalled by setting symbols (parameters) in the SET section, and the results (excluding Thread) are recovered in the GET section of the call,
The program flow is controlled by Items such as IF, WHILE, SWITCH. They behave as tradition, apart from the switch that allows, due to the re evaluation of the control parameter, the easy implementation of status logic.
The part of the computation and processing is contained by CODE items. In them you can call library functions, use local flow control (#if, #while), assign values to symbols.
During the editing of CODE, the assistant editor is your guardian angel: highlight syntax errors, shows the symbols are not recognized, bold the recognized functions, helps in the search for global and local symbols and in the construction of function calls.
Test & Debug
The test and debug tools of the development environment, allows you to immediately test, not only the whole assembly, but also individual exo. This helps in production of better code.