Agena is an easy-to-learn procedural programming language suited to be used in scientific, educational, linguistic, and many other applications, including scripting.
What's new in version 7.3.5
Fixes
math.compose corrupted numarrays, causing invalid memory operations or even segmentation faults later on. This has been fixed.
strings.fields when given no integer index or no table or sequence of indices left memory leaks sfter issuing the error. This has been fixed.
strings.random, strings.rotateleft, strings.rotateright left memory leaks when issuing an error for an invalid argument. This has been fixed.
calc.dct, calc.dst, stats.fivenum, stats.quartiles, strings.strxfrm and utils.multidim no longer leave memory leaks or even crash if internal memory allocation fails or an invalid argument has been given.
readlib and the import statement left a large memory leak if the Agena source file read contained syntax errors or could not be run successfully. This has been fixed.
readlib, import and package.loadclib no longer leave a memory leak if they could not successfully initialise a dynamic link library.
readlib ignored the optional last argument true. If given, the function now prints the paths traversed while searching for the library file(s).
Improvements
The information printed by readlib and import when Agena is in debugging mode (-d switch or "environ.kernel(debug=true)") have been improved a bit.
stats.normald has been tweaked a bit.
Error messages of strings.byte, strings.format, strings.repeat, strings.tolatin, strings.toutf8 have been beautified.
General
This release has been Valgrind-checked on x64 Linux to ensure there are no internal errors or memory leaks.