|
on naming
|
Tom Ritchford
|
Jun 04, 2001 14:51 PDT
|
I chatted a lot about what I was doing over the weekend and
it was very instructive.
I've spent some time looking into the various competitors:
time and personal information management sites, chess sites
and programs, other distributed object ideas.
I believe that there is a very clear and simple distinction
between my audacious plan and the other much less audacious plans.
The next material is NOT intended as marketing-speak -- I'll
write that later -- but an description of the philosophy
behind the whole show. If you find it too fanciful,
skip to the next very specific document...
I wish editEverything to be the canonical namer.
Canonical means that it is the ur-name, the simplest name, the
least restrictive and most inclusive name that is still completely
well-defined.
The classes of objects being created are in some sense
"platonic ideal" objects.
The primary objects themselves are the SIMPLEST possible
objects that do represent the concepts identified:
a list, a game of chess, a string of text, a time.
For example, in chess I believe my previous formulation
of chess (as the set of positions and the transitive closure
of the relation ->, isNextMove) is completely minimal.
And the naming needs to be generous and yet canonical in its turn.
It needs to be generous because it must allow for all different naming
styles, including personal names, and because people need to be able to
enter names from memory or site (ie board positions) extremely easily.
It needs to be canonical because it needs to definitely represent
the object that you are looking at (of course, some objects
are compound objects...)
Again, the three chess naming systems are generous as we can
represent the names in "all" rational ways (pure board position,
initial position and sequence of legal moves, initial sequence of
possible moves)
Finally, we need to have promiscuous naming.
We need to be able to use any name that anyone uses, anywhere.
We need to allow people to coin "personal names" at each point in the process.
We need to have "shared names" too so that more than one person can share
the same context.
and most important, we need to be able to identify objects that
exist on OTHER systems in a canonical way. we need to be able to
point accurately to objects that exist on other systems owned
by other people, even our competitors.
.....all legal games of chess <http://solveChess.com/chess?refresh=0>...
........formal model of chess <http://solveChess.com/chess>.............
...programmer's documentation <http://solveChess.com/doc>...............
|
|
 |
|