List of all "SenseTalk keyword"s?

Although I’m new to the eggplant universe, I’ve been a C# developer for about 15 years. Is there a complete list of everything EPF Studio considers a “sensetalk keyword”? I could save a lot of time if I had an alphabetized list of words to avoid. I understand that the SenseTalk compiler is good at contextual interpretation, but I prefer to minimize opportunities for misunderstanding.


I’ve seen the list of Restricted Words, but I’m looking for something more extensive.

I can give you a partial answer to that, but first I’d like to present some arguments against asking the question in the first place. As you’ve already noted, SenseTalk is highly contextual, so a word that has special meaning in one place is perfectly fine to use in other contexts. Also, there are well over a thousand words that have some kind of meaning in SenseTalk, which is a lot to try to avoid, and most will never conflict with your variable names. The list of restricted words you pointed to in the documentation is intentionally short and rarely changes, while the list of words with some sort of meaning grows regularly.

That being said, I understand the desire to see a more complete SenseTalk word list. For now, a comprehensive list doesn’t really exist, but buried inside the Eggplant application there is a file that comes close, with several caveats. The file is called SenseTalkKeywords.txt and is located in the Resources folder (the exact path depends on the platform — on Mac it is From its name you might think it is exactly what you’re asking for, but in fact its purpose is to provide a list of some of the terms that can be autocompleted in a script. The terms in this file omit a lot of things that would add more clutter than benefit in that context, including hundreds of unit names, so it’s not really comprehensive. But you may find it useful anyway.

1 Like

Wow! I’m honored to get a response from you, @SenseTalkDoug I always get a lot out of your posts.

I see what you mean about asking the question in the first place. I really just want to respect the norms of the language as much as possible. Since most of the people on my team don’t have a development background, I want my code phrases to be as human-readable and and distraction-free as possible. As a former English teacher, I thought I might still be able to find a unique, real word for every variable and handler, so that the object-oriented developer I’ve become doesn’t have to depend on contextual interpretation. But I guess that wouldn’t be showing respect for the norms of the language! :slight_smile: In that spirit, I’ll just go ahead with the first names that occur to me and only change them if the SenseTalk compiler complains.

Thanks again for your help!

My goal with SenseTalk is to make it possible (and hopefully easy!) to write scripts that are highly readable. But of course it’s up to you (and everyone else writing scripts) to actually create readable code. So I appreciate your efforts to do that!

Ideally, you can find variable names that help to convey the meaning of your script (a skill that I find myself constantly working at!), while avoiding the words that are actually restricted. My thought is that keeping the restricted words to a minimum makes your job of choosing the “perfect” variable name a little bit easier.

SenseTalk goes a bit overboard and even allows you to use words like ‘yes’ and ‘zero’ as variables. You should probably avoid doing that, unless it’s in a situation where it just feels natural, and really is the perfect word to enhance understanding — and even then, preferably in a short handler where the scope is limited. But the idea is that hopefully you can just write your code in a way that feels natural without having to twist yourself to get around too many arbitrary restrictions. Have fun!

1 Like