summaryrefslogtreecommitdiff
path: root/starts/meaning-vm/DESIGN.txt
blob: 340f0d241f544778a8fa77d9a0972577477cfe38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
The codebase is made in levels.
Ideally each level defines a complete API to the underworkings.
Higher levels include greater degrees of meaning.

# LEVEL 0
Level 0 defines an interconnected network of concept references in memory.
Each concept has a unique address, and a list of concept pairs it links to.
The first of the pair represents the type of the link, and the second the target.
Concepts may not be deallocated unless nothing links to them.
A special kind of concept is the value, which holds arbitrary data alongside itself.

# LEVEL 1
Level 1 provides for every concept having a name.  There is additionally syntax sugar
for instantiating and using named or hyphen-separated references.
Level-1 names are for development ease, and are considered unique.  Hence this also
begins definition of simple shared meaning associated with a name.