Arrow expressions are another new feature coming to ZPE 1.14.4. They make light work of simple expressions:
YASS
$x = [11, 34, 55, 66, 74, 87, 93, 102] print($x.where(n => n % 2 == 0))
And for maps:
YASS
$x = ["a" => 11, "b" => 34, "c" => 55, "d" => 66, "e" => 74, "f" => 87, g" => 93, "h" => 102] print($x.where(key, value => value > 40))
These new expressions are designed to simplify statements that would normally require a lambda function:
YASS
$x = [11, 34, 55, 66, 74, 87, 93, 102] print($x.where(n => function ($n) { return $n % 2 == 0}))
Underneath, arrow expressions are actually running a lambda function themselves, but the syntax is simpler and easier on the eye than a lambda function.
In addition, I have also made some other significant changes:
- Firstly, internal aliases are no longer part of the runtime but are now part of the compiler, so that they are compiled to the appropriate internal function. This improves performance slightly, too.
- New features in the parser mean that line numbering in compiler syntax errors and any other compile errors now show correct line numbers.
- And finally there's been a major fix in the CSV parser.
Posted in ZPE Programming Environment

There are no comments on this page.
Comments are welcome and encouraged, including disagreement and critique. However, this is not a space for abuse. Disagreement is welcome; personal attacks, harassment, or hate will be removed instantly. This site reflects personal opinions, not universal truths. If you can’t distinguish between the two, this probably isn’t the place for you. The system temporarily stores IP addresses and browser user agents for the purposes of spam prevention, moderation, and safeguarding. This data is automatically removed after fourteen days. Your email address is stored so that replies can be sent to your email address.
Comments powered by BalfComment