Original version:
Sat Jun 6 13:10:07 2026
Last updates:
Sat Jun 6 13:10:14 2026
…
Fri Jun 12 17:09:20 2026
Current time in Salt Lake City, Utah, USA:
Saturday, 13-Jun-2026 23:22:48 MDT
In late November 2025, a new compiler for Algol 68, ga68, was merged into the GNU Compiler Collection source trees for gcc-16 and gcc-17. I have been routinely building gcc releases from source code since 2006, so it was a trivial matter to add algol68 to the list of languages for which I routinely build compilers.
Work still needs to be done at the developer end to ensure that ga68 can be built on more systems, because I found that builds failed on many of the platforms that I tried.
There is an active mailing list for ga68 at https://gcc.gnu.org/pipermail/algol68/.
I have written dozens of test programs to explore features of Algol 68 as implemented by ga68, and the links to files utah-ga68-YYYY-MM-DD.* in this directory allow others to test my code, simply by unbundling one of those files, and then running make in the just-created source directory. At Utah, that reports ALL TESTS PASSED on GNU/Linux systems running on physical and QEMU-emulated virtual AMD64 (== x86_64), ARM64 (== AARCH64), RISC-V64, and S390x CPUs. The latter two represent the newest and oldest CPU families in current wide user, and S390x uses big-endian addressing while the others are little-endian systems.
In addition to my compiler and Algol 68 language explorations, I have developed two extensive bibliographies of the history of the Algol programming language family: algol68.bib and algol-bulletin.bib, Together, they provide about 4100 entries into the large body of literature on the Algol family. Extensive comment headers in those two files supply helpful background on their contents.
The *rand48* files in the bundles show how to create an interface from Algol 68 code to the POSIX standard random number functions in the Standard C Library. The posixrandom.a68 file contains an Algol 68 module that defines prototypes for accessing the POSIX functions, and the libga68-rand48.c file supplies the wrapper functions that are needed when a direct call from Algol 68 to C is not possible. At present, there is a compiler implementation issue in ga68 that prevents passing writable arrays to functions in other languages, so until that is repaired, three of the POSIX functions need a different call signature from Algol 68.
The erand48.a26, jrand48.a26, and nrand48.a26 files do not use the interface module, but instead, just supply private prototypes of the POSIX random number functions that they use.
Once the compiler has been extended, it should then be possible to create clean module interfaces from Algol 68 code to major C libraries, such as -lgmp, -lmpfr, -lgsl, -llapack, and many others, and well as to many commonly needed Standard C functions, greatly extending the applicability and portability of new Algol 68 code.