Welcome to Sunless-Sea What a person thinks on his own, without being stimulated by the thoughts and experiences of other people, is even in the best case rather paltry and monotonous. -Einstein
Google
Entire Web sunless-sea.net
xanadu.net udanax.com
 
WHITEBOARDS
 links into
 revise
 activity
 how to use

SITENAV
 meetings
 what's new?
 whiteboards
 post article
 frontpage
 downloads

ORIENTATION
 legalisms
 history
 glossary
 participants

BACK-ENDS
 udanax-green
 udanax-gold

ALGORITHMS
 coordspaces
 enfilade
 ent

OLD MANUALS
 XIA

HELPING
 puzzles
 needs
 funding
Like the site? Click to donate!

 site-traffic
 admin


Whiteboard: General Enfilade Theory last revised by 127.0.0.1 on Aug 17, 2005 3:12 am

(See the page EnfiladeTheory which is more of a tutorial on enfilades, and then covers some of the same material as this page, from that point of view.)

Enfilades are a form of data structure, useful in several areas of the Xanadu software. They have two basic properties which can be independently tweaked:

  • WIDativity (upwardly-propagating attributes -- width)

  • DSPativity (downwardly-propagating attributes -- displacement)

An example of WIDativity is the WID field of the Model T enfilade.

The fundamental "model-T" enfilade appears to be a balanced tree of totally ordered content addresses. The simplest approach to managing such a data structure for multiple versions, with data sharing, is to use a technique that I've always called "copy-to-root". The udanax code instead inserted some sort of node representing a permutation or alteration in place at every ancestor where the child relations change for a given version. I believe that these "node-level diffs" are called "orgls", but can't quite tell.

The loaf/crum management is a basic explicitly managed virtual memory, with in memeory use-counts managed in the code. Link management is based on a "2-D" enfilade which seems to manage starting points and widths of linked areas, with linked lists of pointers to the original data in the I-stream.

Example: in computer graphics, a WIDative property (upwardly cumulative) is the bounding box, which grows as the tree included becomes larger.

A DSPative property is matrix rotation, such as that of a finger of a hand on an arm, where the movement of a single bone of a single digit is a matrix product of all the motions farther up the tree.

What was the DSPative property in the Model T? It was the sequencing of the pointers, which sequenced the text below in a tree of downward imposition.

Both WIDative and DSPative properties must be associative, i.e. for such a property p

"A p (B p C) = (A p B) p C"

because there is no telling how the next version will be edited.

However, WIDative properties must be associative horizontally (like the sum of the WIDs in the Model T enfilade) and DSPative properties must be associative vertically (like the positions of the crums in the Model T enfilade).

General Enfilade Theory permits the creation of custom enfilades by the suitable selection and design of WIDative? and DSPative properties.

Model T Enfilade

A data structure that manages huge agglomerates of text and their arrangement in and out of memory. It handles the revision of serial data very quickly and very cleanly.

Reading List
As We May Think, 1945 Vannevar Bush
Augmenting Human Intellect:A Conceptual Framework, 1962 Doug Engelbart
Literary Machines, 1981, 87, 93 Ted Nelson
Engines of Creation, Chapter 14 The Network of Knowledge, 1986, 87 K. Eric Drexler
Hypertext Publishing and the Evolution of Knowledge, 1986 K. Eric Drexler
SF:EarthWeb, 1999 Marc Stiegler

Quick Links
www.udanax.com
www.xanadu.com
www.xanadu.com.au
Udanax List Archive
Xanadu® List Archive

All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©2001 Jeff Rush.