Clay

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.