Asking Someone about another person using Tables

I get a “There is no reply” response when I ask Bill about someone:


Starter is a room.
a man called Bill is in Starter.

instead of asking Bill about a topic listed in the Table of Bills Friends:
Let R be the reply entry;
say "Bill says: [R][paragraph break]".

Table of Bills Friends
name		reply
"Bob"		         "Bob is a great friend."
"Mike"		"Mike is so so."
"Steve"		"Steve can be nasty at  times."
"Dave"		"I just met Dave recently."

You don’t have a column called “topic” in the table so the “topic listed in the table” condition is never true.

However, shouldn’t the compiler notice the missing column and throw an error?

At the moment, this sort of thing falls under the purview of runtime problem number 20 (though a compile-time error would be nice). The code in ExistsTableRowCorr, however, suppresses that runtime problem, and I’m not sure why. It’s probably worth a bug report.

Ok, I’ve reported it.

I notice that there is a compile-time error (EDIT, not “run-time”, oops) if you try this with things:

Instead of taking a thing listed in the Table of Bills Friends: …

“You wrote ‘Instead of taking a thing listed in the Table of Bills Friends’ , which seems to introduce a rule taking effect only if the action is ‘taking a thing listed in the Table of Bills Friends’. But that did not make sense as a description of an action.”

However, adding a different table with a “thing” column makes the error go away! Wacky. I guess there’s a namespace of column names that doesn’t behave in quite the obvious way?

As I understand it, all column names are supposed to go into one global namespace.

Thanks to Juhanna Zarf and Emacs user for discussing this.
I thought that “name entry” would work but it appears you need “topic” instead.

And then it does work properly.