This is by far the fastest release of a new version of ZPE since ZPE 1.6.1 was only released some four or so days ago but I'm very happy to announce ZPE 1.6.2. It fixes a ton of stuff and it's a lot better designed under the compiler hood than 1.6.1 was. The
VARIABLE_INDEX is now more functional than ever so that there is more stability when using the following:
$v = [44, 55, 66] $x = $v
As well as adding more stability to the compiler, ZPE now will not crash if you access an undefined index, instead it will return
!undefined which means it can be much, much easier to check for an undefined index. Also, if an index that currently doesn't exist is assigned a value, e.g. in the above list index 6 does not exist, ZPE will now pad the array until it reaches index 6 with a bunch of nulls.
As well as this, the oldest method in ZPE got a big refurbishment. The is_set, unset and global functions are better designed to handle errors and in general are much better designed. As part of this, the is_set function can also determine if an index is set or not. E.g.
$v = [44, 55, 66] print(is_set($v))
Finally, ZPE's argument parsing system has been improved again. Arguments are now even easier to use than ever before and they are parsed far faster. As well as this, in the main/default ZPE ZAC (that's actually when no ZAC is specified but instead a file is put in it's place) program arguments now simply follow behind the file. For example, when running ZPE:
zpe test.zex "Hello" "World"
Both Hello and World will be recognised as individual arguments automatically, no need to put the args value in front any more.