| Just to be sure, what PL/I has had since 1966 is a character data
| type with a length field. It can be used with many intrinsic
| functions and I/O operations, which set the length as appropriate.
| They are declared with a maximum length, and allocated to that
| length plus the length field. Some people have other ideas for
| what a varying length character string should be like.
|
| PL/I has only pass by descriptor, similar to Fortran assumed shape,
| for passing arrays and character data. That allows the appropriate
| lengths to be passed to a called routine.
and back to the caller, since, in the case of a varying string,
the called procedure can alter the string's length.
| It would seem to me that many intrinsic functions would have to
| be rewritten to support varying length.
The same code, modified to deal with a varying actual argument,
as the code would be one part of a generic.
| Also, all the combinations
| of fixed and varying length for those with more than one argument.
|
| When originally designed, PL/I had a big advantage of no installed
| base requiring back compatibility. There are many complications
| in Fortran needed to stay compatible with old programs.
But what it did have were the facilities of FORTRAN, COBOL,
and ALGOL rolled into one, so that anyone using one of those languages
could use PL/I and be assured that he/she could do precisely what he/she
did before in whatever language, only better.
Ho, ho. Very satirical.
Regards,
Nick Maclaren.
What's funny about fact?