SenseTalk

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: