diff options
author | olpc user <olpc@xo-5d-f7-86.localdomain> | 2020-01-10 14:56:27 -0800 |
---|---|---|
committer | olpc user <olpc@xo-5d-f7-86.localdomain> | 2020-01-10 14:56:27 -0800 |
commit | 26c980d302adce8e3d802cb8db8ab1c69d58ce1a (patch) | |
tree | e296225f17370c9e472660396b3a51539f76ff28 /intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt | |
parent | 2e01fed206e46a669ba56f57b4b943cfe661a0f1 (diff) | |
parent | c8bb547bea279af2bb48c13260f98aa8add07131 (diff) | |
download | standingwithresilience-26c980d302adce8e3d802cb8db8ab1c69d58ce1a.tar.gz standingwithresilience-26c980d302adce8e3d802cb8db8ab1c69d58ce1a.zip |
Merge branch 'intellect-framework-from-internet'
Diffstat (limited to 'intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt')
-rw-r--r-- | intellect-framework-from-internet/starts/meaning-vm/DESIGN.txt | 46 |
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. |