[net.lang.pascal] I/O in Algol

gvcormack@watmum.UUCP (Gordon V. Cormack) (08/02/86)

> ...  Unfortunately, I/O libraries are not something that can be
> tacked on later.  I/O affects the definition of the language.  This is
> one of the most serious problems with the languges in the Algol
> tradition.  There is a tendency to think I/O is a detail unfit for
> computer scientists, which can be left to the "standard prolog".

Algol 68 treats I/O at great length.  I think it is more in the
"algol tradition" than Pascal, which is best characterised as
the anti-algol.

Algol 68, unlike Pascal, is sufficiently extensible to do a reasonable
(if not great; but then C is hardly great) job of defining routines
like printf.  For example, the following routine gives something
like what is needed:

MODE PRINTABLE = UNION(INTEGER, REAL, ... )

PROC printf = ( [] CHAR f, [] PRINTABLE ) VOID : BEGIN ... END

printf(" %d  hi there %f \n", (123, 0.123))


Over the past decade, we have seen endless discussions comparing
brain-damaged languages like Pascal and C, and the design of the
Ada, all without learning from the successes (and mistakes) of
Algol 68.
-- 
Gordon V. Cormack      CS Department, University of Waterloo
uucp:  { allegra, decvax, ... }!watmath!gvcormack
csnet: gvcormack%watmum@waterloo
cdn:   gvcormack@mum.waterloo.cdn