Agena

Versione: 
4.11.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

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

Agena v. 4.11.0 (6/4/2025, Alexander Walz) Readme/What's new
4.11.0 Houma, April 06, 2025 - Introduced the new pseudo type `nonzeroint` which stands for an integer that is not zero. You can use it as a required type in parameter lists of procedures and with the following functions and operators: `::`, `:-`, `checkoptions`, `checktype`, `isall`, `numarray.isall`, `tuples.isall`. New `isnonzeroint` checks whether all its arguments are non-zero integers and returns `true` or `false`: > isnonzeroint(-2, -1, 1, 2): true > isnonzeroint(-2, -1, 0, 1, 2): false New `optnonzeroint` checks whether its argument is a non-zero integer; if its argument is `null`, it returns a default non-zero integer. - New `strings.leven` computes the Levenshtein distance or Levenshtein similarity of two strings. It's the same as `strings.dleven`, but does not take transpositions into account. > strings.leven('alex', 'paely'): 4 > strings.dleven('alex', 'paely'): 3 - New `strings.lcs` computes the longest common subsequence (LCS) of two strings. Example: > strings.lcs('Stefan', 'tefa'): 4 tefa > strings.lcs('Stefan', 'tfea'): 3 tfa - New `strings.issubseq` checks whether a string represents a subsequence of characters of another string. Examples: > strings.issubseq('gen', 'agena'), strings.issubseq('gn', 'agena'), strings.issubseq('eg', 'agena'): true true false - Introduced the new `numtheory` package for Number Theory. Some functions that were part of the `math` library have been moved to it, but aliases have been provided for backward compatibility so that you do not need to change your code for the time being: old name new name ----------------------------------------------- math.binet -> numtheory.binet math.congruentprime -> numtheory.congruentprime math.fib -> numtheory.fib math.fibinv -> numtheory.fibinv math.gcd -> numtheory.gcd math.invmod -> numtheory.invmod math.isfib -> numtheory.isfib math.isprime -> numtheory.isprime math.kronecker -> numtheory.kronecker math.lcm -> numtheory.lcm math.mulmod -> numtheory.mulmod math.nextprime -> numtheory.nextprime math.powmod -> numtheory.powmod math.prevprime -> numtheory.prevprime math.primes -> numtheory.primes - New `numtheory.jacobi` computes the Jacobi symbol. The return is either -1, 0 or 1. Example: > numtheory.jacobi(-286, 4272943): 1 The Jacobi symbol is a generalisation of the Legendre symbol. - New `numtheory.ifactor` computes the complete integer factorization of any integer. The return is a table of the all primes, so if you multiply all of them, you will get n. The function mimics the Maple function of the same name as much as possible. Examples: > numtheory.ifactor(24): [2, 2, 2, 3] > numtheory.ifactor(-17): [-17] - Likewise, new `numtheory.ifactors` also returns the complete integer factorization of the integer n as some sort of summary description: The sign, and the respective factors along with their multiplicity: > numtheory.ifactors(24): # see above [1, [[2, 3], [3, 1]]] > numtheory.ifactors(-17): [-1, [[17, 1]]] This is an exact clone of the ifactors function in Maple which is widely used internally there. - New `numtheory.factors` returns all the integers that divide an integer without remainder. Examples: > numtheory.ifactor(250), numtheory.ifactors(250): [2, 5, 5, 5] [1, [[2, 1], [5, 3]]] > numtheory.factors(-17): # a prime [17] - New `numtheory.nthpow` finds the largest n-th power in an integer: > numtheory.ifactor(250), numtheory.ifactors(250): [2, 5, 5, 5] [1, [[2, 1], [5, 3]]] Get factor with exponent 3: > numtheory.nthpow(250, 3): 125 - New `utils.onedim` transforms multi-dimensional indices to a one-dimensional one. Check the description in the Primer and Reference for examples. - The new `maple` package includes aliases to Maple functions that facilitate porting Maple code to Agena. The package is currently under construction and just includes aliases for Maple functions eval, ifactor, ifactors, isprime, modp, power and trunc. The collection will grow in the future. As you see, the `eval` alias that was part of the base library has been moved to the `maple` package. An alias has been provided to ensure backward compatibility. - The new C API function `agn_getiinteger` returns an integer from the given position in a table. - In weird situations, `avl.indices` could run out of stack space, crashing Agena. This has been fixed. - This release has been named after the City of Houma in the parish seat of Terrebonne Parish, Louisiana and has been Valgrind-checked on x86 and AMD64 Linux to ensure there are no internal errors or memory leaks.
 sourceforge.net/projects/agena/files/Binaries/Agena%204.11.0/agena-4.11.0-os2.wpi/download(link is external)
Agena v. 3.16.1 (update2, 17/5/2024, Alexander Walz) Readme/What's new
AGENA LIBRARY (CUMULATIVE) UPDATE Improvements ------------ 3.16.1 Library Update 2 Anson, May 17, 2024 - The precision of the factorial function fact left much to be desired with higher order integral arguments n, especially with n > 101. This has been fixed. - Removed non-existing territories from data/langreg.csv. Installation ------------ This update can be used on all operating systems. You may need administrator rights to install this update. Prerequisite ------------ Please have at least Agena 3.16.1 installed. Solaris, UNIX, and Mac ---------------------- In Solaris, OpenSolaris, Linux, and Mac, the Agena installation can be found in /usr/agena. (This folder includes at least the following subdirectories: doc, lib, schemes, and share). Please cd into this Agena main directory, i.e. into /usr/agena. Proceed with step `Unpack`. Windows ------- In Windows, your Agena installation might usually reside in - <drive letter>:\Programs\Agena, or - <drive letter>:\Program Files\Agena, or - <drive letter>:\Program Files (x86)\Agena. Please cd into this Agena subdirectory. Its contents is as follows: 13.03.2022 21:22 <DIR> . 13.03.2022 21:22 <DIR> .. 13.03.2022 21:22 <DIR> bin 13.03.2022 21:22 <DIR> doc 13.03.2022 21:22 <DIR> lib 13.03.2022 21:22 <DIR> share 13.03.2022 21:22 61.346 uninstall.exe Proceed with step `Unpack`. DOS --- In DOS, locate the Agena directory that includes the licence and change.log files, and cd into this directory. Please proceed with step `Unpack`. Unpack ------ Copy this ZIP archive to your main Agena folder (see above) you just cd'ed into. Please copy the lib/*.agn files in the lib folder of this ZIP archive to the lib folder of your Agena installation, overwriting the original files. If present, copy the updated documentation in the doc directory of this ZIP archive to the doc folder of your Agena installation, overwriting the original files. If present, please also copy scheme(s) files included in this update to the schemes folder. Or just for short: in a shell, just issue the following statement after cd'ing: unzip -o *update* Really Updated ? ---------------- To check whether the update has been successfully installed: The start-up message should now include the word `Update`, e.g.: AGENA >> a.b.c Update n. (C) 2006-20xy http://agena.sourceforge.net. That's it.
 sourceforge.net/projects/agena/files/Binaries/Agena%203.16.1/agena-3.16.1-update2.zip/download(link is external)  local copy
Agena v. 3.16.1 (11/5/2024, Alexander Walz) Readme/What's new
3.16.1 Anson, May 11, 2024 - In the past, when a number was suffixed by the letter 'd', the number was multiplied by 12 (dozen notation). Now the number is assumed to represent degrees and is automatically converted to radians through multiplication by Pi/180. > 90d: 1.5707963267949 Likewise, if a number is suffixed by the letter 'r', it is assumed to be in radians and automatically converted to degrees through multiplication by 180/Pi: > 1.5707963267949r: 90 The suffix 'D' still represents dozens, so for example: > 10D: 120 - New `math.todegrees` is the complement to `math.toradians` and converts radians to degrees: > math.todegrees(Pi/2): 90 - `math.todecimal` did not work well - or unexpectedly - with negative components. This has been fixed by converting all values to positive while preserving the sign in the result. > math.todecimal(-1, 30, 45): -1.5125 > math.todecimal(-1, 30, -45): -1.5125 - Likewise, `math.toradians` did not work well with negative optional arguments. This has been fixed the same way as for `math.todecimal`. - `math.dd` was 16 times slower than equivalent `math.todec`, because the former used string parsing and the latter a precise numeric approach. So from now on, `math.dd` uses the same code as `math.todec`, the latter which has also now been deprecated. An alias has been provided to ensure backward-compatibility. - `math.splitdms` has been tuned by eight times, now using arithmetics instead of string processing.
 www.hobbesarchive.com/Hobbes/pub/os2/dev/proglang/misc/Agena_3-16-1.wpi(link is external)
Agena Manual v. 4.11.0 (, Alexander Walz)
 sourceforge.net/projects/agena/files/Manuals/agena.pdf/download(link is external)
Agena source code v. 4.11.0 (Source code, , Alexander Walz)
 sourceforge.net/projects/agena/files/Sources/agena-4.11.0-src.tar.gz/download(link is external)
Scheda aggiornata l'ultima volta il: 06/04/2025 - 16:14

Commenti

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

Aggiungi un commento