Data rilascio: 
Lunedì, 9 Marzo, 2009



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 7 ZIP che WarpIN:

  • scaricare il pacchetto 7 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

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

Agena v. 2.29.0 (26/6/2022, Alexander Walz) Readme/What's new
2.29.0, June 26, 2022 - With sequences, Agena now automatically frees allocated but unoccupied memory when deleting values. This is done carefully to not slow down the interpreter: Only if the number of remaining values a) is greater than 63 and b) falling below a power of two will Agena give back memory. Of course, no assigned values will be dropped. You can turn off this feature by issuing: > environ.kernel(seqautoshrink = false); - Improved internal memory allocation when growing sequences: The new number of pre-allocated slots will no longer be just twice the current number, but the smallest power of 2 greater than or equal to the current number of slots, thus not wasting space unnecessarily. - The `delete` statement for sequences has become 1,580 times [one thousand five ...] faster. - The new function `sequences.resize` explicitly resizes a sequence, i.e. can expand or shrink it. It also features an auto-mode. - `map` can now substitute values in-place, saving memory, by passing the `true` option as the last argument. This gives you a speed increase of about 30 percent if you no longer need the original contents of a structure. The new option is available for tables, pairs, sequences and registers. - Like `map`, `subs`, `select` and `remove` now also support in-place operations. - If given a table or sequence, `select`, `remove` and `selectremove` now return their result, i.e. the new table(s) or sequence(s), with the smallest number of pre-allocated slots if possible, preventing waste of memory. (The functions have already returned properly-sized registers.) Also, internal memory consumption has been cut in half. - `math.nextpower` could underflow in non-Windows environments with argument 0 and base 2. This has been fixed. - The new C API function `agn_pairseti` sets the value at the stack top to a pair and pops the value. - The new C API function `agn_pairset` sets two values to a pair. - The new C API function `agn_tabresize` resizes the array part of a table. - `select` did not copy the user-defined type of a register to the result. This has been fixed. - With sequences, the `copy` operator might have spoiled the value stack that is used to send data to the virtual machine and to write back results. This has been fixed. - The `split` operator has been hardened against unusual situations that corrupted the value stack mentioned above under heavy load. - The implementation of sequences has been streamlined, with previous allocation procedures unified into just one and a new algorithm implemented to calculate the optimum number of pre-allocated slots. - Extended the test cases.  local copy
Agena Manual v. 2.29.0 (, Alexander Walz)  local copy
Agena source code v. 2.29.0 (Source code, , Alexander Walz)  local copy
Scheda aggiornata l'ultima volta il: 26/06/2022 - 23:29


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

Aggiungi un commento