diff options
Diffstat (limited to 'intellect-framework-from-internet/starts/meaning-vm/level1.cpp')
-rw-r--r-- | intellect-framework-from-internet/starts/meaning-vm/level1.cpp | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/intellect-framework-from-internet/starts/meaning-vm/level1.cpp b/intellect-framework-from-internet/starts/meaning-vm/level1.cpp deleted file mode 100644 index a2046d2..0000000 --- a/intellect-framework-from-internet/starts/meaning-vm/level1.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#include "level-1/level-1.hpp" - -#include <iostream> - -using namespace intellect::level1; -using namespace intellect::level1::concepts; - -int main() -{ - std::cout << intellect::level0::allocated() << " allocated" << std::endl; - - ///* - - decls(make, linked, habit); - std::cout << intellect::level0::allocated() << " allocated" << std::endl; - decls(needs, assumes, makes); - decls(not, topic); - decls(A, B, C); - decls(source, type, target); - decls(structure, function, argument, position); - decls(variable, provide); - decls(act); - - (make-linked).link( - is, habit, - needs, a(structure).link( - is, function-argument, - argument-position, ref(1), - a(variable, A), provide, - a(variable, B), provide, - a(variable, C), provide - ) - ); - movetoname(a(link), A-B-C-linked).link( - link-source, A, - link-type, B, - link-target, C - ); - a(not, not-A-B-C-linked).set(topic, A-B-C-linked); - (make-linked).link( - assumes, not-A-B-C-linked, - makes, A-B-C-linked - ); - (make-linked).fset( - act, - (std::function<void(ref)>)[&](ref args) - { - ref source = args[A]; - ref type = args[B]; - ref target = args[C]; - std::cout << "Linking " << source.name() << " by " << type.name() << " to " << target.name() << std::endl; - source.link(type, target); - } - ); - - std::cout << (make-linked).dump("dumped") << std::endl; - - decls(apple, fruit); - (make-linked)[act] - (a(function-argument) - .link( - A, apple, - B, is, - C, fruit - )); - - std::cout << apple.dump("dumped") << std::endl; - - std::cout << intellect::level0::allocated() << " allocated" << std::endl; - while (true) { - try { - intellect::level0::dealloc(intellect::level0::concepts::allocations(), intellect::level0::concepts::level0allocations()); - break; - } catch (intellect::level0::still_referenced_by &e) { - if (e.topic->linked(intellect::level0::concepts::allocates(), e.referrer)) { - intellect::level0::realloc(e.referrer, intellect::level0::concepts::allocations()); - } else { - std::cout << "In deallocation, " << ref(e.topic).name() << " still referenced by " << ref(e.referrer).name() << std::endl; - throw; - } - } - } - std::cout << intellect::level0::allocated() << " allocated" << std::endl; - - return 0; -} |