A new demo has been released!
There are many improvements under the hood in terms of stability and bug fixes that were discovered while running the benchmarks. As far as new commands, there is now support for "binary" operations on integers, through the commands B+, B-, B*, B/, BAND, BOR, BXOR, and BNOT. These new commands allow the manipulation of a normal number using bitwise operations, with the result constrained to a certain word size.
The "words" are considered signed binary numbers, so a selected word size of 8 bits is able to store 8bits + 1 bit of sign, with a nueric range from -256 to +255. The maximum word size is 63 (for signed 64-bit integers).
Also, the basic framework for the support of flags is included, although only a couple of system flags are currently supported.
More important, a new stack snapshot framework was created, which allows to take arbitrary snapshots of the stack and restore them at any time, creating the illusion of unlimited virtual stacks that the user can switch between. While the framework is in place, the virtual stack funcionality is not enabled in this demo. The demo uses the framework to implement a 10-level UNDO system. Using the pseudo-command UNDO in the command line, the previous stack will be restored. UNDO is a pseudo-command, as in it can be entered by itself in the command line, but not within a program.
Finally, test operations on lists now behave the correct way, returning a single true/false value.
This is likely to be the last console-based demo. The next demo will very likely be a GUI application showcasing the final user interface that the 50g version will have. This GUI application will also allow more rapid development of the user interface.