summaryrefslogtreecommitdiff
path: root/intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt
diff options
context:
space:
mode:
authorolpc user <olpc@xo-5d-f7-86.localdomain>2020-01-10 14:55:19 -0800
committerolpc user <olpc@xo-5d-f7-86.localdomain>2020-01-10 14:55:19 -0800
commitc8bb547bea279af2bb48c13260f98aa8add07131 (patch)
tree7f64265d514dc50427d2e5d8a70e09a46927dfbd /intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt
parent5601d1f3324c30651ad3f264ac2d6e7f12ea8b34 (diff)
downloadstandingwithresilience-c8bb547bea279af2bb48c13260f98aa8add07131.tar.gz
standingwithresilience-c8bb547bea279af2bb48c13260f98aa8add07131.zip
move intellect-framework-from-internet into folder
Diffstat (limited to 'intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt')
-rw-r--r--intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt46
1 files changed, 46 insertions, 0 deletions
diff --git a/intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt b/intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt
new file mode 100644
index 0000000..295a7f2
--- /dev/null
+++ b/intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt
@@ -0,0 +1,46 @@
+The codebase is made in levels.
+Ideally each level defines a complete API to the underworkings.
+Higher levels include greater degrees of meaning and are
+more expressive and powerful.
+The purpose of levels is to prevent complexity recursion
+until the components are smart enough to adapt, and make
+handling bugs much less explosive.
+
+Levels have a 'ref' class they use to refer to concepts.
+Each higher level adds more functionality to this class.
+The desired norm of coding a level is to use only the
+functionality of the level prior, except to use that
+level's ref class, rather than the lower one. Ref classes
+are just wrappers for a pointer, so this should cause no
+issues.
+This norm was established after levels 0 and 1 were coded,
+so they do not meet it yet.
+
+# 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 using the "name" link.
+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.
+When multiple references are made with the same name, they always refer to the same concept.
+Level-1 introduce the concept of groups, using the "is" link, and uses it to categorize
+concepts that have an autogenerated name in the "anonymous" group.
+
+# LEVEL 2
+Whatever gets implemented next. Maybe expression operators, maybe structure promises,
+maybe infrastructure for moving implementation onto ref code objects.
+
+# FUTURE
+## Relevence pattern matching
+ This is important and core.
+ This appears similar to graph structure matching, except that code creatively relevent to
+ the parts of the structure must be continually run so as to generate new information,
+ new structural parts.
+ At its simplest, this solves (A is not a dog), (A is a cat), (cats are never dogs),
+ with logical habits relevent to 'not', 'never', 'is', using one single matching interface,
+ but with more relevence could do more.