Agena

Version: 
3.13.2
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 7 ZIP and WarpIN package:

  • download the 7 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

Following ones are the download links for manual installation:

Agena v. 3.13.2 (13/4/2024, Alexander Walz) Readme/What's new
3.13.2 Case, April 13, 2024 - Added the new `cuckoo` package which implements a Cuckoo filter for string dictionaries, an alternative to a Bloom filter. Both are space-efficient data structures designed to answer approximate membership queries: - Is a string _definitely not_ part of a dictionary ? - Is a string _likely_ to be part of a dictionary ? Contrary to the bloom package, `cuckoo` allows to delete entries from the filter and is 10 % faster when creating new filters and 15 % faster when querying them. Example: > import cuckoo; > c := cuckoo.new(13500); # max. of 13,500 hash entries > cuckoo.include(c, 'abc'); # insert an entry > cuckoo.find(c, 'abc'): # find an entry true > cuckoo.remove(c, 'abc'); # remove the entry > cuckoo.find(c, 'abc'): # find the entry removed false The package is based on the C `libcuckoofilter` library created by Jonah H. Harris and published on Github. - `bloom.include` and `bloom.find` now accept a string instead of a hash value for the second argument. If given a string, the functions internally compute its MurmurHash3 hash value and then proceed as already implemented. In this mode, the functions are around 15 percent faster than before. - New `skycrane.obcount` takes a table, sequence or register and counts the number of occurrences of each of its values. Example: > import skycrane 1 is included 4 times, 2 is included twice, 3 only once, etc.: > skycrane.obcount([1, 1, 1, 2, 2, 1, 3, 8, 9, 8, 9]): [1 ~ 4, 2 ~ 2, 3 ~ 1, 8 ~ 2, 9 ~ 2] - Some underlying administrational data structure, sorting and hashing functions have been tweaked a little bit by forced inlining. Also tuned auxiliary 64-bit trigonometric, logarithmic and error functions this way plus ZX Spectrum math and 80-bit floating point functions. - This release has been Valgrind-checked on x86 and AMD64 Linux to ensure there are no internal errors or memory leaks. 3.13.1 Cade, April 11, 2024 - New `calc.harmonic` computes the harmonic function calc.Psi(x + 1) + EulerGamma for both real and complex arguments. - New `math.hgm` computes the harmonic-geometric mean. - `math.agm` returned a real result on some platforms when given `undefined` as one of its arguments, or both. This has been fixed. - `bags.minclude` can now insert elements from a table or register into a bag. - In non-destructive mode, `duplicates` has become around 15 percent faster. - `skycrane.sorted` and thus the `bags` pretty-printer did not work. This has been fixed. - Adapted the sources to prevent compiler warnings on Raspberry Pi OS/Bookworm.
 sourceforge.net/projects/agena/files/Binaries/Agena%203.13.2/agena-3.13.2-os2.wpi/download
Agena v. 3.11.5 (24/3/2024, Alexander Walz) Readme/What's new
3.11.5 Converse, March 24, 2024 Tuned, extended and fixed calculus functions that compute integrals: - `calc.intdei` and `calc.intdeo` now remember the last epsilon setting given by the user and run 40 % faster with succeeding calls done with the same epsilon value. This also benefits the wrapper function `calc.integ` (see below). - `calc.gauleg`, `calc.intde`, calc.intdei`, `calc.intdeo` and `calc.intcc` now accept multivariate functions. See the Primer and Reference on how to pass the second, third, etc. arguments in the respective calls. With univariate functions, as before, you do not have to change the code. - `calc.integ` has been rewritten to support multivariate functions. Optional epsilon, omega and sample values must now be given as explicit options, so you may have to adapt your code. Example: > calc.integ(<< x, a -> x + a >>, 1, 2, 0, eps=hEps, omega=1, samples=100): 1.5 2.999999997239e-015 - If the third argument to `calc.intdeo` was zero, the interpreter could crash on some platforms. This has been fixed. - If the number of sample points is zero, `calc.gauleg` now automatically sets it to 20 points internally. This prevents segmentation faults on some platforms and also false results of exactly zero. - If you pass zero as an epsilon value to `calc.intde`, calc.intdei`, `calc.intdeo` and `calc.intcc`, then it is automatically reset to the default setting 1e-15 to avert any infinite loops. - This release has been Valgrind-checked on x86 and AMD64 Linux to ensure there are no internal errors or memory leaks.
 www.hobbesarchive.com/Hobbes/pub/os2/dev/proglang/misc/Agena_3-11-5.wpi
Agena Manual v. 3.13.2 (, Alexander Walz)
 sourceforge.net/projects/agena/files/Manuals/agena.pdf/download
Agena source code v. 3.13.2 (Source code, , Alexander Walz)
 sourceforge.net/projects/agena/files/Sources/agena-3.13.2-src.tar.gz/download
Record updated last time on: 13/04/2024 - 17:33

Translate to...

Comments

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

Add new comment