On 16.08.2025 18:44, Andy Walker wrote:
On 16/08/2025 13:14, Janis Papanagnou wrote:
[...]
Of course "something better" would be useful; thinking of name
spaces to not get into naming conflicts when merging different
libraries with own main code.
OK. I suspect something could be lashed up without too
much difficulty; perhaps by means of a shell script.
I was already thinking about some sh/awk preprocessing here, but
quickly dismissed it when I thought deeper about identifying all
those many identifiers in various syntactical positions, while
ignoring others. That's too much hassle, if you ask me, when your
preprocessors would need only a minimum of syntactical knowledge
of the Algol 68 language.
(Or maybe pre-compiled libraries.)
A68G compilation is so fast [~20000 lines/s on my desktop]
that I've never felt the need to pre-compile anything. YMMV, esp
if you need heavy optimisation. [I don't have many programs of more
than 1000 lines.]
Oh, don't get me wrong. I have absolutely no problem with Genie's
speed. Moreover, I consider the speed of the programming task much
more important than speed of execution; and, IME, in Algol 68 the
time span to get a _correct program_ is much shorter than in many
other and quite common languages!
What I meant with "precompiled libraries" was more with respect to
supporting modularized systems; precompilation and dynamic binding
would be one way to achieve that. If I'm not mistaken Genie already
employs such mechanisms for its "standard" extensions; plotting, DB
support, curses, math libraries, etc.
Having a standard means to incorporate externally compiled sources
(also from other languages) would be very useful; that way we could
even incorporate functions on system level that are yet unavailable
in Algol (or in Genie). Thinking here about a mechanism like, e.g.,
Simula's "external", something like... (here adjusted for Algol 68)
EXTERNAL "C" char getkey() IS PROC getkey = CHAR;
(Or extended to whole modules with types/classes and its functions.)
[...] Genie
is already so comprehensive that we can consider us enthusiasts
lucky that Marcel had done this great job!
Indeed. As previously noted, by the 1990s I was so fed up
with the infelicities of C and its relatives that I was using shell
scripts for the most unsuitable of purposes [eg, timetabling]; the
advent of A68G reminded me of the joys of programming, and I haven't
looked back over the past 20+ years.
Yeah, it's indeed amazing. I must say that I had about four decades
"paused" with Algol 68, having no access to a compiler and only very
recently I learned about Marcel's Genie project. Due to Algol 68's
coherence and orthogonality it needed not much time to continue with
it even after that long span of time.
But there's of course also a couple of things I'm missing in Algol 68
that I learned to appreciate from other languages, and a few things
in Algol 68 are, while very powerful, not that easy to get into, IMO,
and some things also appear a bit anachronistic or bulky.
But as you say, compared to those issues you *have* to deal with in
languages like "C" etc., things that are not related to the problem
domain but to the inherent deficiencies of the "C" language, such
things need no attention any more in Algol 68; it doesn't distract
one from the primary task and doesn't waste your time unnecessarily.
Janis
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)