Proteus tech documents

The following technical paper describes how The Proteus language facilitates storing and acting on the meaning of informtaion. Once the meaning of information is known, many things become possible, including interacting with the world via data streams and using complex natural language to communicate.


Architecture of a Slipstream node

The agent class, depicted in orange in the center, is a Proteus engine running with a world model in memory. The 4 blue bars are class "infonStream"s which are depicted at the top. They connect the engine to arbitrary services, as well as the three primary Proteus repositories: Device, User and World. The syntax and meaning of the information to and from the services is determined by Proteus models. They could be data from a microphone or video camera, or keyboard and mouse. Outputs might be a screen or commands to and from a robot. InfonStreams can be created and destroyed as needed.

Slipstream node running:

This screenshot is from a live Slipstream Node. It is produced by the "Reactive GUI" represented on the right side of the architecture diagram. An alternative GUI architecture would be to run the GUI through the ConnectionManager. Indeed, that is how the terminal-like "app" shown works. The choice to connect the GUI directly to the Proteus engine was made to facilitate lower latency for Slipstream games.

Computable Ethics

Several people have asked about my master's thesis which is a sketch of a computable theory of ethics. An early prototype of Proteus is defined therein as a notation for representing ethics situations that can be passed into a function.