Est. 1992 Beginner

SenseTalk

An English-like, people-oriented scripting language in the XTalk family, designed by Douglas Simons and best known today as the scripting language of the Eggplant test-automation tools

Created by Douglas Simons

Paradigm Multi-paradigm: scripting, procedural, object-oriented; natural-language ("people-oriented")
Typing Dynamic, weak; typeless "fluid" variables with duck typing
First Appeared 1992
Latest Version SenseTalk 2.x series; version 2.23 was documented as a recent release around 2025

SenseTalk is a high-level, English-like scripting language in the XTalk family — the lineage of languages descended from Apple’s HyperTalk. Designed primarily by Douglas Simons, it is built around a simple but ambitious goal: scripts should be largely readable by ordinary people, including those with little or no programming training. Today SenseTalk is best known as the scripting language inside the Eggplant suite of test-automation tools, where testers write natural-sounding instructions that drive entire applications.

History & Origins

SenseTalk first appeared in 1992 as the scripting language of HyperSense, a multimedia authoring application for the NeXTSTEP platform that was modeled closely on Apple’s HyperCard. In that earliest form the language was little more than a re-implementation of HyperCard’s HyperTalk, carrying over its conversational style and its signature chunk expressions for slicing text into characters, words, items, and lines.

A more ambitious rethinking followed. The redesigned language re-emerged in 2002, when SenseTalk (then at version 0.02) shipped as the scripting language of Eggplant V1.0. Eggplant was developed at Redstone Software in Boulder, Colorado, by a team that included Douglas Simons along with Jonathan Gillaspie and John McIntosh. Eggplant’s defining idea was to test software the way a human does — by looking at the screen via image recognition and interacting with what it sees — and SenseTalk became the readable language in which those interactions were expressed.

Ownership of the technology changed hands as it matured. In 2008, Redstone Software was acquired by the UK-based TestPlant, which later rebranded itself as Eggplant. In 2020, Keysight Technologies acquired Eggplant (a deal reported at roughly $330 million), and SenseTalk continues today as the scripting engine of Keysight’s Eggplant test-automation products.

A common point of confusion: despite the similar name, SenseTalk is unrelated to Smalltalk. The two share only the fact that both are object-oriented; SenseTalk’s heritage is HyperTalk and the XTalk family, not the Smalltalk lineage.

Design Philosophy

SenseTalk’s creator describes it as a “people-oriented” programming language — one whose syntax deliberately resembles plain English so that the gap between describing what you want and writing the code to do it is as small as possible. Where a conventional language might require if x > 10 then, SenseTalk happily accepts phrasings closer to natural speech, and it tolerates a range of equivalent wordings for the same intent.

This philosophy shows up throughout the language:

  • Case-insensitive keywords and variable names, so authors are not tripped up by capitalization.
  • Typeless, “fluid” variables that can hold a number at one moment and a string the next, with the language converting between representations as needed (a form of duck typing).
  • Readable expressions of intent, such as date and time values recognized in many human formats, and a Pattern Language that offers a human-friendly alternative to terse regular-expression syntax.

The result is code that often reads almost like documentation, which is precisely the point for its primary audience: testers and domain experts rather than career software engineers.

Key Features

FeatureWhat it provides
English-like syntaxConversational statements designed to be read and written by non-programmers
Chunk expressionsAddress text by character, word, item, line, and more — inherited from HyperTalk
Fluid (typeless) variablesValues change type as needed, with automatic conversion and duck typing
Units of measurementLength, mass, time, velocity, and other units as first-class values
Date & time handlingRecognition and arithmetic across many human-readable date/time formats
Files as containersRead and write files using the same container idioms used for variables
Pattern LanguageA readable alternative to regular expressions for matching and extraction
Property listsDictionary/hash-table structures for keyed data
XML / tree structuresNative handling of hierarchical data
Network accessHTTP and XML-RPC support for web and service interaction
Database accessConnectivity via ODBC

Evolution

Although its roots are in early-1990s multimedia authoring, SenseTalk has been continuously developed as a modern scripting language since the Eggplant era began in 2002. Its version history traces a steady accumulation of capabilities: each expressions for concise iteration (v1.26, 2007), native XML/tree structures (v1.30, 2008) and iterators (v1.36, 2008), HTTP and XML-RPC support (v1.53, 2012), first-class units of measurement (v1.67, 2014), the readable Pattern Language (v1.81, 2018), and multi-case if statements in the 2.0 series (2020). Version 2.23 has been documented as a recent release around 2025.

These additions reflect SenseTalk’s gradual transformation from a HyperCard-style authoring language into a full-featured automation language — gaining the networking, data-handling, and pattern-matching features needed to script real-world test workflows, while never abandoning its readable surface.

Current Relevance

SenseTalk’s relevance today is tightly bound to Eggplant, now part of Keysight Technologies. Eggplant Functional uses image-based interaction — it sees and acts on what appears on screen — which lets a single SenseTalk script test desktop, web, mobile, and embedded software regardless of the underlying technology stack. Because the scripts read like plain instructions, teams can involve testers and subject-matter experts who would be excluded by a more conventional automation language.

As a proprietary language distributed with commercial tooling, SenseTalk does not have the sprawling open-source ecosystem of a mainstream scripting language. Its community centers on Eggplant’s users and documentation, with a presence on Rosetta Code offering publicly visible examples. SenseTalk source files typically use the .script or .st extensions.

Why It Matters

SenseTalk is a living example of a recurring idea in computing: that programming can be made approachable through natural language. It carries the HyperTalk philosophy — accessible, conversational, readable scripting — out of the HyperCard era and into a modern, commercially supported tool. In doing so it demonstrates that the “English-like language” experiment, often associated with the 1980s and the XTalk family, can remain genuinely useful decades later when aimed at the right audience: people who need to automate software without becoming full-time programmers.

Timeline

1992
SenseTalk first appears as the scripting language of HyperSense, a HyperCard-like multimedia authoring application for the NeXTSTEP platform; the language is designed primarily by Douglas Simons and is initially close to HyperCard's HyperTalk
2002
A substantially redesigned SenseTalk (version 0.02) ships as the scripting language of Eggplant V1.0, developed at Redstone Software in Boulder, Colorado, by a team including Douglas Simons, Jonathan Gillaspie, and John McIntosh
2007
Version 1.26 adds 'each' expressions for concise, readable iteration over collections
2008
Redstone Software is acquired by the UK-based company TestPlant (later rebranded as Eggplant); SenseTalk gains native XML/tree structures (v1.30) and iterators (v1.36)
2012
Version 1.53 adds HTTP and XML-RPC support, extending SenseTalk beyond UI scripting into web and service interaction
2014
Version 1.67 introduces units of measurement (length, mass, time, velocity, and more) as first-class values
2018
Version 1.81 introduces the readable Pattern Language, a human-friendly alternative syntax for regular-expression-style matching
2020
Keysight Technologies acquires Eggplant (reported at approximately $330 million); version 2.00 adds multi-case if statements
2025
Version 2.23 is documented as a recent release of the language, which continues as the scripting engine of the Keysight Eggplant test-automation products

Notable Uses & Legacy

Eggplant Functional (Keysight Eggplant Test)

SenseTalk is the scripting language of Eggplant Functional, an automated functional-testing tool that drives applications through image recognition rather than UI internals, letting a single SenseTalk script test virtually any technology on any platform

HyperSense

The language's original home: a HyperCard-inspired multimedia authoring application for NeXTSTEP, where SenseTalk provided the scripting layer for interactive stacks

Cross-platform UI test automation

Because Eggplant interacts with applications visually, organizations use SenseTalk to write tests that span desktop, web, mobile, and embedded systems with the same readable script

Test scripting for non-programmers

SenseTalk's English-like, 'people-oriented' design is used to let testers and subject-matter experts with little formal programming background author and maintain automated test scripts

Rosetta Code

SenseTalk has a category on Rosetta Code where contributors have implemented programming tasks, providing a public catalog of idiomatic SenseTalk solutions

Language Influence

Influenced By

HyperTalk HyperCard

Running Today

Run examples using the official Docker image:

docker pull
Last updated: