Our filesystem.
%clay
is version-controlled, referentially-transparent, and global.
While this filesystem is stored in %clay
, it is mirrored to Unix for
convenience. Unix tells %clay
whenever a file changes in the Unix
copy of the filesystem so that the change may be applied. %clay
tells
unix whenever an app or vane changes the filesystem so that the change
can be effected in Unix. Apps and vanes may use %clay
to write to the
filesystem, query it, and subscribe to changes in it. Ford and gall use
%clay
to serve up apps and web pages.
%clay
includes three components. First is the filesystem/version
control algorithms, which are mostly defined in ++ze
and ++zu
in
zuse. Second is the write, query, and subscription logic. Finally, there
is the logic for communicating requests to, and receiving requests from,
foreign ships.
User documentation
How to interact with the Clay filesystem via Dojo. This includes basics such as mounting to Unix, changing directory, merging, and listing files.
Developer Documentation
A conceptual overview of how Clay was designed.
A quick overview of how the most common tasks involving Clay are performed: reading and subscribing, syncing to Unix, and merging.
Explanations of the many data types found throughout Clay.
Reference for Clay's various scry endpoints.
Details of the various task
s you can use to interact with Clay.
Example usage of the various Clay task
s.
Details of mark
s as well as a guide to writing them and their usage.