LatticeSpace

Meet semi-lattice space

A LatticeSpace lets one put a page in several contexts simultaneously. For example, a page called ProjectLog could be specified by RichardGrimbles (the author) and NighthawkAlpha (the project). Figuring out what page is meant in what context when one simply refers to "ProjectLog" is the meat of the LatticeSpace.

While a meet semi-lattice sounds complex, all it means is that if two pages have the same name, but different contexts, the common part of the contexts must exist separately. If both RichardGrimbles+NighthawkAlpha:ProjectLog and JohnDufray+NighthawkAlpha:ProjectLog exist, so must NighthawkAlpha:ProjectLog. Lattices have much richer structures than trees, the basis of prior name-space systems, and a LatticeSpace similarly provides a richer, better structure than hierarchic name-spaces.

A LatticeSpace is a natural companion to a FacetedClassification scheme.

For more, see PeriPeri:LatticeSpace.

Discussion

[new]

I'm hoping this is easier to grasp than SetBasedNamespace. Should we delete that page?

Languages:

The same page elsewhere:
MeatBall:LatticeSpace