Question about ga68
Jose E. Marchesi
jemarch@gnu.org
Tue Jan 13 00:31:41 GMT 2026
Also please make sure to build and use the latest ga68 from the
development gcc git version. Things are moving fast!
> Hello Gilberto, and welcome :)
>
>> Dear GNU Algol working group,
>>
>>
>>
>> My name is Gilberto Alexandre and I a am writing to you in connection
>> with Algol 68. I just recently got interested in Algol 68 and started
>> learning Algol 68 Genie on my own. I then found out about the GNU
>> Algol, ga68, which I then installed in my computer and started
>> playing with it (the compiler works fine). Soon after installing I
>> noticed that programs that work in Algol 68 Genie do not work when
>> using ga68 and vice-versa.
>>
>>
>>
>> I tried to go thru all that there is in terms of information
>> available and got nowhere in relation to this difference. In this
>> regard, could you, please, point me in the right direction? I mean is
>> there a document or web page where I can learn about the differences
>> between these two compilers, difference in sintax (if any), etc?
>
> There are five main differences to note:
>
> 1. The ga68 compiler supports UPPER stropping, which is the stropping
> regime used by default by Algol 68 Genie. This is the regime where
> you type bold words in all-caps, like BEGIN or IF. But to use this
> stropping you need to pass the option -fstropping=upper to ga68,
> because...
>
> 2. We designed a new stropping regime with a "modern" feeling for GNU
> Algol 68. It is called SUPPER stropping, and is the default in ga68.
> You can see an example of a real-life program written using SUPPER
> stropping at https://git.sr.ht/~jemarch/godcc.
>
> 3. Algol 68 Genie implements a few extensions to Algol 68 that we do not
> implement. We also implement some extensions (GNU extensions) that
> Algol 68 Genie doesn't implement.
>
> 4. Algol 68 Genie implements the standard transput prelude. This is
> the put, get, print, etc routines. ga68 implements a simpler POSIX
> prelude with I/O primitives like getc, puts, etc. To print something
> to the standard output, use puts ("hello'n") for example. We are in
> the process of implementing something like the standard transput on
> top of the lower-level POSIX prelude.
>
> 5. GCC implements the Algol 68 modules system. This means you can write
> particular programs in .a68 source files, but also modules. And you
> can build libraries in shared objects.
>
> For a description of the options, GNU extensions, modules system, and
> more, you can read the WIP manual at
> https://gcc.gnu.org/onlinedocs/ga68.
>
> So, if you have a program that works in Genie, you can try to:
>
> 1. Compile it with ga68 passing -fstropping=upper
>
> 2. Change the transput calls to use puts, gets, etc.
>
> You may also consider to switch your programs to use SUPPER stropping.
> Please let us know if you need any help!
>
>>
>>
>>
>> Best regards,
>>
>> Gilberto Alexandre
>>
>>
>>
>> P.S. Congratulation on the initiative and all the best in this
>> endeavor!
>
> Thanks!
More information about the Algol68
mailing list