![]() |
|
Agena is an easy-to-learn procedural programming language designed to be used in scientific, educational, linguistic, and many other applications. Its syntax looks like very simplified Algol 68 with elements taken from Lua and SQL.
It supports if and then conditions as well as sequences and vectors as the data types used in your projects.
Here are some key features of "Agena":
· graphical capabilities for the Solaris, Mac OS X, Linux, and Windows versions
· an arbitrary precision mathematical library
· easy configuration of your personal environment via the Agena initialisation file
· an easy-to-use package system also providing a means to load a library and define short names for all package procedures at a stroke (with function)
· enumeration and multiple assignments
· scope control via the scope/epocs keywords
· the external switch to a numeric for loop to pass the last iteration value to its surrounding block
· functions to support fast text processing (see in, replace, lower, and upper operators, as well as the functions in the strings and utils packages)
· the binio package to easily write and read files in binary mode,
· facility to store any Agena data to a file and read it back later into a new session (save and read functions)
· efficient statements for stack programming (insert/into and pop/from)
· undergraduate Calculus, Linear Algebra, and Statistics packages
· bitwise operators
· direct access to the file system
· xBase file support (complient to dBASE III) to exchange data with standard applications
What's New in This Release: [ read full changelog ]
· `os.system` can now directly detect Windows 8 and Server 2012. - The `size` operator returned twice the number of items actually stored in a dictionary that has been created with the `create dict` statement. This has been fixed. If a table also includes an array, the operator now is also 20 % faster. - `bags.attribs` has thus also indirectly been fixed for it returned a wrong number of entries in its first return if elements had been passed in a call to `bags.bag`.

Via: Agena 1.7.9