Agena

Version: 
7.0.1
Release date: 
Monday, 9 March, 2009

License:

Interface:

Authors/Port authors:

Agena is an easy-to-learn procedural programming language suited for everyday usage. It has been implemented as an interpreter and can 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.

This software is distributed as compressed package. You have to download and manually install it; if prerequisites are required, you will have to manually install them too.

Manual installation

Available both as ZIP and WarpIN package:

  • download the ZIP package to temporary directory and unpack it to destination folder;
  • the WarpIN package is self-installing.

See below for download link(s).

You can install the prerequisites with rpm running the following string in a command line:

yum install libc libcx libgcc1 libssp libstdc++6 libstdc++ libsupc++6 libsupc++ libgcc-fwd readline ncurses expat sqlite

Following ones are the download links for manual installation:

Agena v. 7.0.1 (3/3/2026, Alexander Walz) Readme/What's new
agena >> `The Power of Procedural Programming` 7.0.1 Vega, March 03, 2026 - `calc.zeros` can now alternatively compute complex roots. Examples: > calc.zeros(<: z -> z^3 - 1 :>): [1, -0.5-0.86602540378444*I, -0.5+0.86602540378444*I] > calc.zeros(<: z -> z^3 - 1 :>, guess = 0.5+I): [-0.5-0.86602540378444*I] - `member` now accepts a positive number as a third argument to set the maximum tolerance value if you want to see whether a number is part of a structure. Thus, you do no longer need to change the `Eps` environment variable (and change it back later) if you want a specific tolerance other than `Eps` for the comparison. Example: > member(20.000001, [10, 20, 30]): null > member(20.000001, [10, 20, 30], 1e-5): # 2 is the index of the number found 2 - `member` could potentially corrupt the stack when checking registers. This has been fixed. - New `debug.getk` returns the values internally treated as `constants` of the function in which it (i.e. `debug.getk`) has been called. It is a wrapper for `debug.getinfo(level, "k")`. Instead of a level, you may pass the function of interest. Example: > f := <: () with k := 101; j := k + 1 -> debug.getk() :> > f(): [101, 1, debug, getk] - You can now pass a function instead of a level to `debug.getlocals`. - New `debug.listcode` breaks down an Agena function into its opcode instructions and returns them in a table. Each line in it starts with the respective code line number in brackets. Example: > f := <: () > with k := 101; > j := k * 2 -> > k + j :> > for i in debug.listcode(f) do print(i) od ( 2) 0 - LOADK 0 0 ( 3) 1 - MUL 1 0 257 ( 4) 2 - ADD 2 0 1 ( 4) 3 - RETURN 2 2 0 ( 4) 4 - RETURN 0 1 0 - Two harmless bugs in the opcode management have been fixed.
 sourceforge.net/projects/agena/files/Binaries/Agena 7.0.1/agena-7.0.1-os2.wpi/download
Agena v. 4.12.5 (20/5/2025, Alexander Walz) Readme/What's new
4.12.5 Merryville, May 20, 2025 - In the past, the bitshift operators <<< (left shift), >>> (right shift), <<<< (left rotation) and >>>> (right rotation) had different behaviour across platforms when a number at or beyond the +/-2^32 threshold has been processed. This has been changed and the results in these situations are now the same. Likewise, `bytes.numto32` is now returning the same results on all platforms when casting a value at or beyond the +/-2^32 border. This also benefits various functions in the `hashes` package as their returns are now the same across platforms, as well. To check the new underflow or overflow behaviour, use `math.wrap`. - New function `math.fmod` works and returns the same result as the binary `symmod` operator. It has just been added to facilitate porting C code to Agena. - The results of `hashes.mix`, `hashes.crc32`, `hashes.crc8`, `hashes.reflect`, `hashes.parity`, `hashes.fibmod`, `hashes.interweave`, `hashes.jinteger` may now be different with out-of-range input, that is with arguments at or beyond the 2^32 threshold, depending on your platform.
 www.hobbesarchive.com/Hobbes/pub/os2/dev/proglang/misc/Agena_4-12-5.wpi
Agena Manual v. 7.0.1 (, Alexander Walz)
 sourceforge.net/projects/agena/files/Manuals/agena.pdf/download
Agena source code v. 7.0.1 (Source code, , Alexander Walz)
 sourceforge.net/projects/agena/files/Sources/agena-7.0.1-src.tar.gz/download
Record updated last time on: 03/03/2026 - 06:06

Translate to...

Comments

Hello, thank you very much for listing me. Greetings from Bonn, Rhineland, Alex

Add new comment