NAME
intro - introduction to wombat
DESCRIPTION
Wombat is a reactive hypertext computing environment for javascript hosts. It is held in a single file, and saving writes the whole system, running processes included, back into that file.
Resources
Everything in wombat is a resource. Resources have a path and respond to requests in the burrow protocol, 6b, which has three verbs: GET, PUT and DEL. Requests and responses are plain text. Responses use a special syntax where each line beginning with "=> " is considered a link. A directory is a resource whose path ends in / and whose response lists links to the resources below it.
Servers
Resources are provided by servers. Servers are programs that mount a path and respond to requests for path at or below it. For example, the root server mounts /.
Namespaces
The resource reached by a given path is determined by a mapping called a namespace. Every process has its own, and can be started with a custom one. A namespace is written as links, each binding a path to a name.
Booting
A host starts wombat by loading the kernel and running boot. Then,
- boot mounts the root and host-dependent services
- init mounts host-independent services
- bat resumes all saved process and mounts /srv/proc/
Using
Every request goes through req, the kernel's entry to 6b. To look around, GET / and follow the links. To start a program, PUT a record to /srv/proc/new. Errors that reach no one are appended to /srv/cons. Nothing outlives the session until the system is saved with a PUT to /srv/save.