diff options
Diffstat (limited to 'starts/meaning-vm/main.cpp')
-rw-r--r-- | starts/meaning-vm/main.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/starts/meaning-vm/main.cpp b/starts/meaning-vm/main.cpp index f8e4ec0..c4207cb 100644 --- a/starts/meaning-vm/main.cpp +++ b/starts/meaning-vm/main.cpp @@ -35,28 +35,18 @@ int main() declrefs(trueness, truth, what, not); declrefs(add, unique, habit, needs, assumes, makes); - A[is = variable]; - B[is = variable]; - C[is = variable]; + A = a(variable); + B = a(variable); + C = a(variable); // add a new unique link to a concept // given A, B, C // and assuming A is not linked by B to C, // makes A be linked by B to C. - - // would like to do A = a(variable); - // solution might be to tag anons as such, and take them with a condition in operator= - // since we want to return a ref, change [is=variable] to use refs. this means learning - // to delete them, which means checking if they are used or not. - // where do we put the deleting? - // right now helpers is doing memory. maybe instead we can have a memory class. - // ideally memory is handled by a concept. - // let's make a pool of concepts? - (add-link-unique)[ - is = habit, - needs = A, needs = B, needs = C, - makes = (abc-linked)[is = link, link-source = A, link-type = B, link-target = C], - assumes = (abc-not-linked)[is = trueness, what = abc-linked, truth = false] + add-link-unique = a(habit)[ + needs = a(variable, A), needs = a(variable, B), needs = a(variable, C), + makes = a(link, abc-linked)[link-source = A, link-type = B, link-target = C], + assumes = a(trueness, abc-not-linked)[what = abc-linked, truth = false] ]; dumpconcept(add-link-unique); |