diff options
Diffstat (limited to 'starts/meaning-vm/level-1')
-rw-r--r-- | starts/meaning-vm/level-1/concepts.hpp | 1 | ||||
-rw-r--r-- | starts/meaning-vm/level-1/sugar.cpp | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/starts/meaning-vm/level-1/concepts.hpp b/starts/meaning-vm/level-1/concepts.hpp index 2b460d6..f33d228 100644 --- a/starts/meaning-vm/level-1/concepts.hpp +++ b/starts/meaning-vm/level-1/concepts.hpp @@ -10,6 +10,7 @@ namespace concepts { static ref level1("level1"), allocations("allocations"); static ref is("is", level1-allocations); // a link to define group relationships, links to the more general class static ref name("name", level1-allocations); // used as the link to value<std::string> naming each concept +static ref text("text", level1-allocations); // used as the type of value<std::string> names static ref nothing("nothing", level1-allocations); // default value of a ref static ref anonymous("anonymous", level1-allocations); // a group given concepts with generated names static ref link("link", level1-allocations); // TODO: for concepts that are links, link them with is=link diff --git a/starts/meaning-vm/level-1/sugar.cpp b/starts/meaning-vm/level-1/sugar.cpp index 8585387..567edac 100644 --- a/starts/meaning-vm/level-1/sugar.cpp +++ b/starts/meaning-vm/level-1/sugar.cpp @@ -52,14 +52,14 @@ ref movetoname(ref anonymous, ref name) bool nonempty = false; for (auto & l : name.links()) { if (l.first.linked(level0::concepts::allocator(), level0::concepts::level0allocations())) { continue; } - if (l.second.isa(concepts::name)) { continue; } + if (l.second.isa(concepts::text)) { continue; } nonempty = true; } - if (nonempty) { + if (nonempty) { for (auto & link : anonymous.links()) { if (link.first == concepts::is && link.second == concepts::anonymous) { continue; } if (link.first.linked(level0::concepts::allocator(), level0::concepts::level0allocations())) { continue; } - if (link.second.isa(concepts::name)) { continue; } + if (link.second.isa(concepts::text)) { continue; } if (!name.linked(link.first, link.second)) { throw std::logic_error(name.name() + " already defined otherwise from " + anonymous.getAll(concepts::is).begin()->name());// + ": \n" + dump(name, ref("dump"), ref(true)) + dump(anonymous, ref("dump"), ref(true))); } |