Answers to specific question from previous post (01)
Q: I assume that your initial work would have been sometime between 1963
and 1968? It would be great if you could pin down some years for me. (02)
A: I worked with Doug from Jan 66 through late 69. (03)
Q: Was the CDC 3300 the first machine that NLS ran on? (04)
A: There was a mini-NLS on a 160A. I never worked on it. (05)
Q: JR: From a page management viewpoint, an NLS statement was a string of
words. The statements could be compacted within a page. Links into the page
were adjusted during the compaction. New statements were heuristically
placed close to their peers in the NLS branch. A statement could not be
larger than a single page. (06)
EK: I think this has remained true even on the latest version of Augment
that Doug is still running, yes? (07)
A: I do not know. (08)
Q: JR: Memory on the 940 was very limited. Instead of an attribute-value
pair as was used in the PDP10 version, the 940 version worked with bits
inside 19 bit words. (09)
EK: I'm not sure what attribute-value pair you are referring to. I
understand that statements are just a string of words that must be less
than a single page. More clarification on the pairs? (010)
A: It's a LISP reference. In every list a single nodes in a list are a value
and a pointer to the next element in the list. An A-list is a structured
list where the value, (CAR L), identifies an attribute and the value of the
second node (CADR L) is the value of the attribute, and so on. (011)
EK: I'm also not clear on what is stored in 19 bits? Is there a 5 bit header
with 19 bits of data (5 + 19 = 24 bit words, used by the SDS 940)? (012)
A: I was confused. Forget I said 19. (013)
Q: An NSL statement had a fixed length header and a variable length string.
I think this has remained true, yes? (014)
A: I do not know. (015)
Q: I guess the Meta Compiler and compiler were all rewritten from SNOBOL to
use L10 at some point, once L10 itself was written? (016)
A: Actually, no. Butler Lampson spent the summer of 1965 as an intern
working for Doug. He wrote a SNOBOL compiler in a macro assembler for the
CDC3300. Peter Deutsch wrote the assembler in CDC3300 assembly language.
When I joined the group, neither would assemble. There was no documentation
and no comments in the code. As my first job, I got them both to run. We
never actually used the SNOBOL compiler. I then discovered the Meta II
language done by Val Shorre (?) then ad SDC. I pieced together the string
manipulation routines and made a self compiling Meta II system for the
CDC3300. Then, I bootstrapped everything from there. (017)
Q: Did this occur during the transition from the SDS 940 to the PDP-10? (018)
No, we had a single user system on the CDC3300. We bootstrapped the meta
compiler system from the CDC3300 to the SDS940. (019)
Q: JR: So, statement names were "(" $(L/D) ")" at the start of a statement.
View specification control was "[" name ":" flags "]" in the string. (020)
EK: I'm reasonably comfortable with LISP, but I'm afraid I don't know any
SNOBOL. I assume the L and D represent some kind of string processing
functions? (021)
A: Its regular expression syntax -- a left paren followed by an arbitrary
number of (letters or digits) followed by a right paren. (022)
_________________________________________________________________
Message Archives: http://chm.cim3.net/forum/nls-technical/
Shared Files: http://chm.cim3.net/file/work/project/nls-restore/
Community Portal: http://www.computerhistory.org/
To Post: mailto:nls-technical@chm.cim3.net
Community Wiki: http://chm.cim3.net/cgi-bin/wiki.pl?NLS_Restoration (023)
|