summaryrefslogtreecommitdiff
path: root/intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt
diff options
context:
space:
mode:
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.