On Tue, Nov 28, 2017 at 5:23 PM, Doug McIlroy <doug(a)cs.dartmouth.edu> wrote:
Early on, when multics was understood to have
one big, segemented address space, it was expected
that PL/I name qualification ($) would serve to address
segments. I do not know whether that idea was
actually implemented.
If I understand you correctly, approximately yes.
Entry points are usually defined as "foo$bar", where "foo" is the
segment
name, and "bar" an entry point in the segment symbol table. I believe that
the degerate case of "foo$" is treated as "foo$foo" by the shell.
In the following example, the segment name is "hello", the entry point
"world".
*edm hello.pl1*
Segment not found.
Input.
*world: procedure options(main);*
* dcl sysprint file output print stream;*
* put list ("Multics rulez; UNIX droolz");*
* put skip;*
*end world;*
*.*
Edit.
*w*
*q*
r 16:45 0.050 3
*pl1 hello*
PL/1 33e
r 16:45 0.128 36
*hello$world*
Multics rulez; UNIX droolz
r 16:45 0.033 23
-- Charles