summaryrefslogtreecommitdiff
path: root/starts/meaning-vm/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'starts/meaning-vm/main.cpp')
-rw-r--r--starts/meaning-vm/main.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/starts/meaning-vm/main.cpp b/starts/meaning-vm/main.cpp
index 6919791..1d25975 100644
--- a/starts/meaning-vm/main.cpp
+++ b/starts/meaning-vm/main.cpp
@@ -29,8 +29,11 @@ void dumpconcept(ref r)
int main()
{
declrefs(make, linked, habit);
- declrefs(A, B, C);
+ declrefs(structure, function, argument, position, provide);
decllnks(needs, assumes, makes);
+ decllnks(A, B, C);
+ decllnks(is);
+ lnks(argument-position);
// add a new unique link to a concept
// given A, B, C
@@ -40,7 +43,13 @@ int main()
// change the needs structure to use a model for the ref,
// with needed values specified as 'provided'
make-linked = a(habit)[
- needs = and(avariable(A), avariable(B), avariable(C)),
+ needs = a(structure)[
+ is = function-argument,
+ argument-position = vref<int>(1),
+ avariable(A) = provide,
+ avariable(B) = provide,
+ avariable(C) = provide
+ ],
assumes = not(A-B-C-linked = link(A, B, C)),
makes = A-B-C-linked
];