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