[comp.os.vms] AST, Reentrancy, and VMS Higher-Level Languages

LEICHTER-JERRY@YALE.ARPA (04/24/87)

I've been called to task for a gross over-simplification in a note I wrote on
this topic yesterday, which gives entirely the wrong impression about what the
various higher-level language OTS's support.

In general, the HLL OTS's are AT LEAST AST-reentrant.  (Ada's OTS is fully
reentrant, as it has to be to support the ADA tasking environment.  Pieces of
the VMS RTL are too.)  The main restrictions are in the I/O packages.  To
return to the language mentioned in the question that I was replying to,
FORTRAN I/O can be used at both AST and non-AST level, but you can't access
a given channel at both levels at the same time.  You CAN access distinct
channels.  Most of the FORTRAN procedures - certainly all the things like the
math procedures - are reentrant.  It is quite possible to write AST routines
and AST-driven programs in FORTRAN and have them work.

The Guide to Creating Modular Procedures has 10 pages or so of text in its
"Writing AST Reentrant Code" chapter, and there is related information else-
where in the book; plus, of course, the individual languages have documenta-
tion of their own procedures and restrictions.  No note in this forum can
possibly provide this much detail, nor is any quick one-line rule going to
keep you safe - unless of course it's some sledge-hammer approach like
"Don't use AST's!"
							-- Jerry
-------