From GNUstepWiki
Jump to navigation Jump to search

StepTalk is the official GNUstep scripting framework. In fact, StepTalk is more than a scripting framework with an illusion of a single objective environment between objects of scriptable servers or applications. StepTalk, when combined with the dynamism that the Objective-C language provides, goes way beyond mere scripting. It is language independent - it uses languages as separate bundles.

Author: Stefan Urbanek - see StepTalk blog.


The Goal of StepTalk is to provide an environment for gluing applications together and to provide a framework for communication between users and objects in the applications. Other major goals are:

  • simple and quick extensions of applications or tools
  • batch-processing of objects in applications or tools
  • fast prototyping of applications or new application features (play and tune a concept "online")

It does not mean that the framework should not be used for whole application development, however it was never designed for that purpose. StepTalk application development is a form of very fast prototyping of an application.

The StepTalk package features a framework, set of tools, language bundle, modules and object finders. The framework provides an application interface for developers to make their products scriptable. For more information about the tools, see StepTalk tools. Concerning the scripting language, the StepTalk is a language independent framework It can be extended via "language bundles" to provide and support other scripting languages. An experimental language bundle for Guile is included in the sources package.

The default scripting language in StepTalk is Smalltalk. This is because Smalltalk is a very simple language and it is easy to learn. There are just a few basic principles that the user has to know to be able to use the language and it is close to the natural language. Smalltalk uses a similar approach to that of Objective-C, the language used in GNUstep itself.

Object Finders are an illusion of a single objective environment. The name of an object may be known, but the object itself not. The object may be an application or it may reside on another host. Object Finder is an object that will search for an object by a specified name.

  • Distributed Object Finder - This finder will try to look for a registered named object. It is possible to specify a list of possible hosts where the object may reside and to specify a program that will provide the object if it cannot be found.
  • Application Finder - Looks for a locally installed application and tries to connect to it. If the application is not running, it will try to launch it.


Get it by CVS:

export CVS_RSH="ssh"
cvs -z3 co StepTalk

The Framework



For more information about what should be done in StepTalk see StepTalk TODO.

Projects using StepTalk

MolTalk - a computational environment for doing Structural Bioinformatics. It interprets PDB formatted files and creates an object representation of the structure-chain-residue-atom hierarchy. Through the use of MolTalk, the PDB suddenly becomes an object-oriented database.

See also: Scripting,