[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Inclusion Lists for Hypercardus Clonus



Date: Tue, 13 Feb 90 12:00:09 PST
   From: roger (Roger Gregory)


	   From marcs Tue Feb 13 09:58:13 1990

	   If this IS doing him a favor, great, implement it this way. I 
	   can imagine using the InfoFactory as a CloneCard editor--but 
	   it would be a very raw editor, i.e., no syntax or semantic support, 
	   the kind of thing Unix people would love, but which would be 
	   suicidal for occasional users.

   Why do you insist on thinking of the InfoFactory as the cannonical
   standard editor.  There will be hundreds of editors, and there is an immense
   value in keeping them able to read each others documents.  I believe it would be
   a disaster if my fe can't quote part of a HC document and criticize or comment
   on it. 

We provide a base set of data types (waldo types) out of which a
developer can build new types. Since our waldo type system is
multi-valued along the dimensions of subclassing and wrapping, a
different front end will be able to look at another's data structures
at the very least in terms of the system primitive types that they
both share. Once you try and modify it through an inappropriate tool,
it loses it's special type, since there is no guarantee that you
maintained the user-defined type invariants. (E.g. you can look at a
Microsoft Word document with emacs, but if you try and modify it,
you'll probably not be able to read it back into Word.)

The InfoFactory suffers the limitation that it doesn't even support
looking at all of the primitive data types, particularly record types.
Other frontends will be different. I can image the equivalent of a
sector-editor for Xanadu that allows you to examine all the primitive
data structures in a useful way, but you could only modify
user-defined types if you knew the password to the endorsement used by
the application to mark the orgl type.

All applications will support links, and we should build in a
mechanism for passing link ends between applications, so that you can
link data between applications. One frontend might not be able to say
much about what was at the other end of a link to another front end's
document, but it would recognize the link.
	--ravi