Service Manuals, User Guides, Schematic Diagrams or docs for : xerox sdd memos_1977 19770707_Variant_Record_Changes
<< Back |
HomeMost service manuals and schematics are PDF files, so You will need Adobre Acrobat Reader to view : Acrobat Download
Some of the files are DjVu format. Readers and resources available here : DjVu Resources
For the compressed files, most common are zip and rar. Please, extract files with Your favorite compression software ( WinZip, WinRAR ... ) before viewing.
If a document has multiple parts, You should download all, before extracting.
Good luck. Repair on Your own risk. Make sure You know what You are doing.
Image preview - the first page of the document
>> Download 19770707_Variant_Record_Changes documenatation <<Text preview - extract from the document 'XEROX
PALO ALTO RESEARCH CENTER
Computer Sciences Laboratory
INFORMATION PRODUCTS GROUP
System Development Division
July 7, 1977
DRAFT - DRAFT - DRAFT
To: A Sampling of Mesa Users
XEROI SDD ARCHIVES d
stoo
From: Ed Satterthwaite, John Wick 1 have ' rea.d and under
Subject: Variant Record Changes pe.ges_ ...-To --
Date_
'Reviewer
_Ref 7 "'~b
Keywords: Mesa, Variant Records - ...... 7'-', D - cQ63
Filed On: [b: BOOLEAN], 0:15 .. 15 1:0 .. 15
blue => [c: CARDINAL], 1:0.. 15 1:0.. 15
ENDCASE]
Note that, under the old scheme, bit fifteen of word zero of a blue Foo is unused
(garbage), hence blue Foos cannot be compared. On the other hand, in the new scheme,
both variants would occupy two words.
Note also that, under the new scheme, the tag field would not be widened if there were
some field in each variant that could be used to fill the remaining space. Thus if the
blue variant of Foo included some 1-bit field, a red Foo would occupy one word again
(at least if the record were not mutable; see below). If, as in this case, the variants were
of differing lengths, the compiler would still require discrimination before comparison.
Mutable Variant Records
There is a reasonably well known bug in the language definition that allows the type of
a variant record to be changed "on the fly", often wit.h disasterous consequences.
Consider the following code (assume the definition of Foo above):
foo: POINTER TO POINTER TO Foo;
baz: POINTER TO Foo;
WITH record: foot t SELECT FROM
red =>
BEGIN
foott +- Foo[3, blue[5]];
IFrecord.b THEN
◦ Jabse Service Manual Search 2024 ◦ Jabse Pravopis ◦ onTap.bg ◦ Other service manual resources online : Fixya ◦ eServiceinfo