nls-technical
[Top] [All Lists]

Re: [nls-technical] [bootstrap-nsf] Re: [bootstrap-nsf] Re: questions ab

To: bootstrap-nsf@ws.blueoxen.net
Cc: 'NLS Restoration Technical Discussion' <nls-technical@chm.cim3.net>
From: Jonathan Cheyer <jonathan@cheyer.biz>
Date: Tue, 21 Feb 2006 23:54:46 -0800
Message-id: <43FC18C6.7060004@cheyer.biz>
Hi Jeff,    (01)

Thanks for the replies!    (02)

Just for the record, the questions were from me (Jonathan), not from 
Eugene. So anyone reading this can mentally replace "EK" with "JC" in 
the text below.    (03)

Other notes:    (04)

  * CDC 160A, released July 1961. 12 bit words. 8KB of memory. First 
"minicomputer". Build by Control Data Corporation.    (05)

Photo: http://ed-thelen.org/comp-hist/mak-CDC-160A.html    (06)

  * NLS Single-Console system (CDC 160A) described:
http://sloan.stanford.edu/MouseSite/Archive/Post68/FinalReport1968/study68environment.html    (07)

  * There is mention in above document of CDC 3100 (as opposed to 3300). 
Were both used at different times?    (08)

Jonathan    (09)


Jeff Rulifson wrote:
> Answers to specific question from previous post
> 
> 
> 
> 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.
> 
> A: I worked with Doug from Jan 66 through late 69.
> 
> Q: Was the CDC 3300 the first machine that NLS ran on?
> 
> A: There was a mini-NLS on a 160A. I never worked on it.
> 
> 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.
> 
> EK: I think this has remained true even on the latest version of Augment 
> that Doug is still running, yes?
> 
> A: I do not know.
> 
> 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.
> 
> 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?
> 
> 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.    (010)

Got it. I missed the LISP reference when you mentioned attribute-value 
pairs earlier. Thanks for the clarification.    (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)?
> 
> A: I was confused. Forget I said 19.
> 
> Q: An NSL statement had a fixed length header and a variable length string.
> I think this has remained true, yes?
> 
> A: I do not know.
> 
> Q: I guess the Meta Compiler and compiler were all rewritten from SNOBOL to 
> use L10 at some point, once L10 itself was written?
> 
> 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.
> 
> Q: Did this occur during the transition from the SDS 940 to the PDP-10?
> 
> No, we had a single user system on the CDC3300. We bootstrapped the meta
> compiler system from the CDC3300 to the SDS940.
> 
> Q: JR: So, statement names were "(" $(L/D) ")" at the start of a statement.
> View specification control was "[" name ":" flags "]" in the string.
> 
> 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?
> 
> A: Its regular expression syntax -- a left paren followed by an arbitrary
> number of (letters or digits) followed by a right paren.    (012)

I see. L/D is letter/digit. That was what I was missing.    (013)

_________________________________________________________________
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    (014)
<Prev in Thread] Current Thread [Next in Thread>