!7 static L instructions; static volatile L topic; p { instructions = indexedNodes("If starts with"); bot(); consoleInput("What do you know about Gaga?"); askButton(); centerBiggerConsole(); } answer { for (WebNode instruction : instructions) { WebNode op = web_operand(instruction); if (matchStart(web_unquote(op), s, m)) { WebNode i = web_operand(op); S what = web_text(i); if (eqic(what, "get topic $1")) { getTopic(m.rest()); ret anyFactAbout(first(topic)); } else ret "huh? " + what; } } } svoid getTopic(S topic) { main.topic = indexedNodes(topic); print("Got topic: " + topic + " => " + n(main.topic, "node")); } sS anyFactAbout(WebNode node) { Triple t = web_mostInterestingConnection(node); if (t == null) ret "No idea about " + node; ret web_text(t.a) + " " + t.b + " " + web_text(t.c) + "."; }