Agena is an easy-to-learn procedural programming language suited for everyday usage. The interpreter can be used in scientific, linguistic, educational, and many other applications.
What can you do with Agena ?
Agena provides you with all the means you need to implement your ideas quickly: fast real and complex arithmetics, efficient text processing, flexible data structures, intelligent procedures and package management, plus various configuration facilities.
Which operating systems are supported ?
You can download installers for Solaris, Windows, Linux, OS/2 & eComStation, and DOS.
The Windows edition got the 100% CLEAN award granted by Softpedia. You may also compile the sources for your platform with the GNU GCC compiler.
How does it look like ?
The syntax looks like very simplified Algol 68 with elements taken from Lua and SQL. Click here to take a tour.
How has it been implemented ?
Agena is based on the ANSI C source code of Lua, a popular and widely used OpenSource programming language.
What does the name Agena mean ?
Agena is the second brightest star in the Southern hemisphere and the name of an unmanned target vehicle used in the 1960s in NASA's Gemini missions. Click here for some pictures of past times.
The etymology of the word Agena is unexplored, I assume it may be Latinized Arabic.
Requirements:
· Ncurses
· GNU Readline
What's New in This Release: [ read full changelog ]
· The new toSet baselib function converts a string into a set of its characters, and a table or sequence into a set.
· io.readlines has been patched to process lines with more than 2048 characters. The function now also issues an error if internal memory allocation fails. Internal buffer size has been decreased from 2048 bytes to 512 bytes. You may change this by assigning another value to AGN_IOREADLINES_MAXLINESIZE in the agnconf.h file.
· io.readlines now also accepts file handles. When using file handles, as opposed to file names, please note that you must close the file manually after using io.readlines.
· io.readlines no longer returns an empty table if the file does not exist. Instead, it issues an error.
· toSeq now returns an error instead of fail if it does not receive a string, set, or table.
· The baselib function used has been extended and can return memory usage in bytes, kbytes, and gbytes. It is a C function now.
· The undocumented gcinfo function has been deleted. Its functionality has been taken by used.
· The new C API function agn_usedbytes returns the number of bytes used by the system.
· Corrected wrong error message of toTable.
· renamed C AOI function `agn_isioforcerror` to `agn_isioforceerror`.