On Tue, Nov 28, 2017 at 5:23 PM, Doug McIlroy <doug@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