Skip to content
charlie derr edited this page Nov 4, 2025 · 15 revisions

Welcome to the MORK and MM2 user-facing documentation space.

This wiki is a living document and at any time may not be the authoritative source of truth about MORK. Rather it is meant to centralize whatever the community of MORK users manage to understand about MORK. Contributions are welcome! Please email charlie.derr <@t> singularitynet.io if you have anything you either want to add or suggest we add.

"Software without documentation is only ruin of the soul" inspired by François Rabelais.

The bigger picture

The mechanisms available in MORK, MM2, and PathMap exist in large part to enable extreme efficiency at scale. Using these tools properly will involve writing code in ways that are not likely similar to the ways in which most people have traditionally programmed in other languages.

Currently MORK, MM2 and PathMap are implemented in the rust programming language. Rust is a systems programming language influenced by both C/C++ and functional programming languages.

Functions available in MORK or MM2 which are written directly in rust are referred to as grounded functions. Convention is to name any grounded function using all capital letters.

Information about numerical computations in these environments

The classical floating point operations, which are common to most current and past popular programming languages are almost completely unnecessary for machine learning.

Modern representation like 8+8 bfp are almost perfect for MORK

For precise computations, it is possible to just use the existing infrastructure, because there is very little likelihood one would need space-wide ops over precise computations.

There are three assumptions to avoid abuse:

a) max expression size 64 to avoid slow LISP-style processing

b) max symbol size 64 to avoid slow string indexing

c) max variable mentions 64 to avoid large unification problems (instead of the more idiomatic many smaller ones)

instead of writing rust code...

It is possible to write the state of a specific space to disk. Then to read back the space from disk. Several advantages with this solution are:

a) if the space is too large to fit in memory, the loading from disk will allow access to occur as needed

b) since the act files are very compact (so the storage is extremely efficient), this is a convenient way to share files when bandwidth is in short supply between users

examples will follow shortly

Clone this wiki locally