SenseTalk is a high-level English-like scripting language in the XTalk family, that supports both procedural and object-oriented paradigms.
SenseTalk scripts are intended to be largely readable by ordinary people, including those with little to no training in programming.
To this end, SenseTalk includes a number of language elements that provide functionality oriented towards human tasks rather than the underlying machine behavior.
where the same test would typically be written as if (quantity % 3) == 0 …, with the focus being on the machine operations needed to determine the result.
In addition, text operations, including comparisons, searches, and so forth, are case-insensitive by default, although they can be made case-sensitive when needed.
SenseTalk includes full support for many different types of units (length, mass, time duration, volume, frequency, etc.).
SenseTalk’s chunk expressions come from its heritage as a member of the XTalk family of languages derived from HyperTalk.
SenseTalk expands upon the original chunk syntax, and extends their use beyond text, to items within a list and bytes within binary data as well.
Accessing records in a database is more complex than reading a file, but SenseTalk applies the concept of containers here, too.
SenseTalk’s “pattern language”[4] implements regular expressions using a readable, English-like syntax.
This example uses the previous ssnPattern to define a pattern that will avoid matching in cases where the immediately preceding or following character is also a digit: