RPL/2 is a special language, and could be the strange child of forbidden love between Lisp and Forth. The reversed polish notation and the definitional working come from Forth, only keeping an anonymous stack; the control structures come from Lisp. What a
RPL/2 is a special language, and could be the strange child of forbidden love between Lisp and Forth. The reversed polish notation and the definitional working come from Forth, only keeping an anonymous stack; the control structures come from Lisp. What a brilliant genealogy !This language has very weak typing, if any typing at all. The variables are declared on-the-fly at their first use, and the type of the data to store at that time is used. So the same variable X might contain a complex matrix and a few moments later, a string.In fact, using variables is not very common, because everything can be done directly with objects present in the stack.The five hundred and twenty-five thousand lines of code (!) can be cleanly compiled. The language is fully usable (I do so every day); RPL/2 scripts can be run, and external compiled routines might be called. The interface with the outer world is a C interface.The usable and working data types are as follows:- Binary integers (64 bits);- Signed integers (64 bits);- Real numbers (64 bits);- Complex numbers (2*64 bits);- Strings (any length);- Lists;- Complex,real or integer vectors;- Complex,real or integer matrices;- Names;- Algebraic expressions;- Expressions stated in reverse polish notation.At the time of this writing, built-in definitions are:- The whole set of stack management operations;- The functions related to local and global variables,as well as sub-definitions jumping;- Defined and undefined loops,with or without a counter;- Comparison functions;- Testing instructions;- Functions dealing with trigonometry;- Logarithmical functions;- Advanced calculations on matrices (LU decomposition,generalized eigenvalues)- Evaluation functions EVAL and ->NUM;- and many others...What\'s New in This Release: [ read full changelog ]· This version contains many compilation bugfixes. The configure script is updated and new flags are available: --with-32bits-abi, --with-64bits-abi, and --with-rplcas.· Please note that RPL/CAS is not built by default. Lapack is upgraded to 3.3.1.
Скачать