Agena v. 4.9.0 (9/2/2025, Alexander Walz) |
Readme/What's new |
4.9.0 Trion, February 09, 2025
- It is now very easy to write-protect tables, sets, pairs, sequences, registers and userdata. `freeze` switches on write-protection
and `unfreeze` removes the protection. Not only is the actual data in the structures protected, but also associated metatables and
user-defined types. Thus you no longer have to define metamethods to do the job:
> tbl := [1, 2, 3, a = 10, b = 20];
> freeze(tbl);
> tbl[1] := null;
Error in stdin at line 1:
table is read-only.
> setmetatable(tbl, []);
Error in `setmetatable`: table is read-only.
> unfreeze(tbl);
> tbl[1] := null;
> tbl:
[2 ~ 2, 3 ~ 3, a ~ 10, b ~ 20]
- You can also now write-protect numarrays and memfiles with `freeze`, and remove the protection with `unfreeze`.
- New `tables.cleanse` is an alternative to `cleanse`, removes all values from a table but does not slim its size and also does not
conduct a garbage collection.
- `environ.attrib` returns the read-only setting for structures with the 'readonly' entry.
- `environ.attrib` now also returns information on userdata: the (estimated) size in bytes, the user-defined type and the 'readonly' flag.
- The new `fzy` package provides functions for fuzzy string matching. It is an adaption of the Lua package of the same name written
by Seth Warn which itself binds to John Hawthorn's fzy C library.
> fzy.score('app/models/user.rb', 'amuser'):
5.595
> fzy.score('app/models/customer.rb', 'xzyr'):
0
- New `math.noise` computes gradient Perlin noise which can be used, for example, in applying pseudo-random changes to a variable.
- New `os.period` returns the computer's clock timing (period) in seconds.
- New `os.timestamp` returns the current value of the computer's clock that increments monotonically in tick units.
- New `os.ticker` returns the number of seconds elapsed since the start of an epoch, usually the time the computer has been switched on.
Contrary to `os.uptime`, the function also returns fractional seconds.
- Minor tweaks for `numarray.geti`, `numarray.seti` and `numarray.one`.
- `cleanse` has been tuned a little bit with tables.
- `environ.attrib` could crash with tables or return wrong information. This has both been fixed.
- `environ.attrib` could theoretically crash with pairs. This has been fixed, as well.
- In DOS, `io.pcall` did not work with the internally attached `2>nul` stderr redirection. The supplied fix should help.
- This release has been named after the Town of Trion in Georgia 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.9.0/agena-4.9.0-os2.wpi/download |
|
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 |
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 |
|
Agena Manual v. 4.9.0 (, Alexander Walz) |
|
|
sourceforge.net/projects/agena/files/Manuals/agena.pdf/download |
|
Agena source code v. 4.9.0 (Source code, , Alexander Walz) |
|
|
sourceforge.net/projects/agena/files/Sources/agena-4.9.0-src.tar.gz/download |
|
Comments
Alexander Walz
Sat, 13/05/2017 - 20:06
Permalink
Hello,
Add new comment