2009-12-29

filesystem as intranet of vol's and slots

10.13: mis.adda/syntax/directory as pointer model:
. if the ptr syntax is modeled after files,
then you bump into the confusion that
although folders are impl'd as pointers,
they have {copy, cut, paste} operations
that are acting as if they were containers
just like arrays, or records .

10.17: adda/syntax/volumes as a domain class:
. to unify the files systems of the pc and unix,
removables (type"volume) should be considered to be
internet nodes of domain"vol .
. a user has, both a current vol
and a current directory within each vol .
[typical pc behavior?]

10.26: adde/fs/entity and its id:
. another dimension of file id
is the volume the file is on;
because, an owner can write to several volumes
at the same time
so is not unique .
in fact, the vol'mgt is then
both the unique and direct creator;
but, consider every file must be sync'd across multiple val's
so, like git,
the unit of creation should be considered to be
the project or db, not the file .
10.27:
. a file can be uniquely identified by
(vol name * create`time * serial#)
. the serial# is needed if the vol can create a
set of files at one time,
or if the system clock is not giving accuracy to put
every file-create in its own time slice .
content vs container:
. the create time for the file
differs from that of the contents .

10.27: adda/syntax/url` slots vs vol's:
. the url domains: {vol, slot, drive} are for local content
that is reachable by a removable disk .
. drives are plugged into slots,
and volumes (eg, disks) are plugged into drives .

11.5: adda/syntax/url/filename recursively like site name:
. suppose net syntax is recursive,
so a file can be another whole net system:
//x.com/y.com
. the first idea to flesh out is
how it could make sense to use dot notation for files
the way sites do:
subj.name.type
. when they had www.x.type,
the www (front-dotted name) meant an entity
had a library fit for world-wide webbing
. another view is that
www refers to the default app;
eg, www.google.com means google's main service (search);
but then there's other services
mail, picasa, knol, code, etc .
. sites are {processors, entities} offering various services,
so in the case of locally,
a site-style name could be used for users:
eg, dev.addn.user would be a file-system dedicated to
addn's dev'ing .

11.12: adda/syntax/url/filenames like sitenames:
. when filenames have types like websites domains,
that means they are processors,
and their domains have similar meanings:
.com is closedware,
.org is openware,
.edu is knowledgebase or expert system,
.mil is security services,
.gov is os daemons .

12.1: adda/syntax/url/the register domain:
. an url naming system should represent all address spaces as
internet nodes;
eg, registers are separate address space
and so they should have their own website in the reg domain .
. the url's protocol is really not needed;
it is indicating the communications type
and is esp'ly irrelevant when the os is the same everywhere;
but, even with a variety of os's
it seems the usual is https, and that should be the default .

12.1: adda/syntax/url/the internet root as module symbol:

. a corollary of every address space getting a web node address,
is that the internet root symbol (//)
is the prefix that identifies concurrent objects:
eg, task instances, and sharable (stateless) library units .
. additionally, (//) identifies a pointer to filesystem
such that you can have access to multiple filesytems,
each having a current working directory;
eg, //destination`= //source .
whereas, //source/ (with the (/) appended)
would indicate the root directory rather than the current working directory .
. the domain name is a type name,
so then name.domain (where the type.mark happens to be a domain name)
would declare name to be a filesystem .

. once you know that a symbol is a domain-typed obj,
when is the syntax (//name) needed ?
for recursive use of domain names,
it shows when the symbol at top level
-- the level of the internet or the system
(some of the domain names are reserved for system components) .

type a/.//?
. the // is part of address literal
so not a type name as its ambiguous

. just as (/) means ptr concept
(//) symbolizes the a modular (or removable) filesystem
a separate address space,

. every tree var is //a.tree/...
adda lib consists of nodes in the adda domain //a.adda/