Agena

Versione: 
7.0.0
Data rilascio: 
Lunedì, 9 Marzo, 2009

Licenza:

Interfaccia:

Authors/Port authors:

Agena è un linguaggio di programmazione procedurale facile da apprendere e studiato per l'utilizzo quotidiano. Implementato come linguaggio interpretato, può essere usato per applicazioni scientifiche, educative, linguistiche e altro. La sua sintassi risulta simile all'Algol 68 semplificato, con elementi presi dal Lua e da SQL.

Questo software è distribuito come pacchetto compresso, da scaricare e installare manualmente; se ci sono prerequisiti da soddisfare, andranno anch'essi scaricati e installati manualmente.

Installazione manuale

Disponibile sia in formato ZIP che WarpIN:

  • scaricare il pacchetto ZIP in una cartella temporanea e scompattarlo nella cartella di destinazione;
  • il pacchetto WarpIN è autoinstallante.

Vedi sotto per il(i) link di download.

E' possibile installare i prerequisiti con rpm, eseguendo la stringa seguente in una finestra comandi:

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

Qui di seguito trovi i link di download per l'installazione manuale del software:

Agena v. 7.0.0 (24/2/2026, Alexander Walz) Readme/What's new
agena >> `The Power of Procedural Programming` 7.0.0 Vega, February 24, 2026 - The `with` clause to short-cut functions and the `with` clause to the `if` operator have been extended and allow for more than one assignment statement of local, intermediate variables: they fully evaluate each assignment statement before proceeding to the next so that you can use the newly assigned variables there. Separate the assignment statements with semicolons: > f := <: x, y with t := 1; u := t + 2; v := u + 3 -> print(x, y, t, u, v) :> > f(1, 2): 1 2 1 3 6 > f := <: x, y with t := 1; u, v := t + 1, t + 2 -> print(x, y, t, u, v) :> 1 2 1 2 3 > return with t := 1; u, v := t + 1, t + 2 -> if t > 0 then u + v else u - v fi; 5 - Instead of the `scope`/`epocs` keywords you can now create a scope with `begin` and finish it with `end`: > begin print('I am a scope.'); print('Me, too !') > end; - New `tables.auto` creates Perl-style automagic tables (also called autovivication). An automagic table creates subtables on demand, so that you do not have to set them up manually. Example: > a := tables.auto(); > a.b.c.d := 'a.b and a.b.c are automatically created' This is short for > a := []; > create table a.b; > create table a.b.c; > a.b.c.d := 'a.b and a.b.c are automatically created' - The default number of digits in the _output_ of Agena numbers can now be controlled by the `Digits` environment variable. If set to a non-negative integer by the user, it will always supersede the environ.kernel('digits') setting in the entire session. Note that this does not control the precision of a computation, but only the output created by the pretty-printer. > Pi: 3.1415926535898 > Digits := 17 > Pi: 3.1415926535897931 > Digits := 5 > Pi: 3.1416 - Tweaked `dual.arctan2` and `dual.beta` a bit. - Unused and undocumented `dual` functions have been removed. - This release has been Valgrind-checked on x86 and x64 Linux to ensure there are no internal errors or memory leaks.
 sourceforge.net/projects/agena/files/Binaries/Agena 7.0.0/agena-7.0.0-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.0 (, Alexander Walz)
 sourceforge.net/projects/agena/files/Manuals/agena.pdf/download
Agena source code v. 7.0.0 (Source code, , Alexander Walz)
 sourceforge.net/projects/agena/files/Sources/agena-7.0.0-src.tar.gz/download
Scheda aggiornata l'ultima volta il: 25/02/2026 - 03:24

Commenti

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

Aggiungi un commento