From c8bb547bea279af2bb48c13260f98aa8add07131 Mon Sep 17 00:00:00 2001 From: olpc user Date: Fri, 10 Jan 2020 14:55:19 -0800 Subject: move intellect-framework-from-internet into folder --- .../meaning-vm/level-2-wip-stmtexprs/meaning.hpp | 42 ---------------------- 1 file changed, 42 deletions(-) delete mode 100644 starts/meaning-vm/level-2-wip-stmtexprs/meaning.hpp (limited to 'starts/meaning-vm/level-2-wip-stmtexprs/meaning.hpp') diff --git a/starts/meaning-vm/level-2-wip-stmtexprs/meaning.hpp b/starts/meaning-vm/level-2-wip-stmtexprs/meaning.hpp deleted file mode 100644 index 049e7f9..0000000 --- a/starts/meaning-vm/level-2-wip-stmtexprs/meaning.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include "ref.hpp" -#include "../level-1/helpers.hpp" - -namespace intellect { -namespace level2 { - -// get a named variable -ref avariable(ref name); - -template -ref and(T... refs) -{ - std::initializer_list rs = { refs... }; - decl(and, topic); - ref ret = a(and); - ref name; int count = 0; - for (auto r : rs) { - ret.link(topic, r); - if (count == 0) { - name.ptr() = r.ptr(); - } else { - name.ptr() = (name-and-r).ptr(); - } - ++ count; - } - if (count == 1) { - throw std::invalid_argument("and needs at least two subjects"); - } - // in level-1, we'll want to name anonymous objects after defining them - return name = ret; -} - -// make a reference to a link -ref link(ref sourceref, ref typeref, ref targetref); - -// invert a meaning -ref not(ref whatref); - -} -} -- cgit v1.2.3