How WSTP Is Used

The Wolfram Symbolic Transfer Protocol (WSTP) provides a mechanism through which programs can interact with the Wolfram Language.

Some typical uses of WSTP.

WSTP provides a general interface for external programs to communicate with the Wolfram Language. Many standard software systems now have WSTP compatibility either built in or available in add-on modules.

In addition, the WSTP Developer Kit bundled with most versions of the Wolfram System provides the tools you need to create your own WSTP-compatible programs.

Once you have a WSTP-compatible program, you can transparently establish a link between it and the Wolfram Language.

The link can either be on a single computer or it can be over a network, potentially with a different type of computer at each end.

A few uses of WSTP-compatible programs.

WSTP-compatible programs range from very simple to very complex. A minimal WSTP-compatible program is just a few lines long. But it is also possible to build very large and sophisticated WSTP-compatible programs. Indeed, the Wolfram System notebook front end is one example of a sophisticated WSTP-compatible program.

The basic idea of WSTP.

Much of the power of WSTP comes from its use of Wolfram Language expressions. The basic idea is that WSTP provides a way to exchange Wolfram Language expressions between programs, and such expressions can represent absolutely any kind of data.

A few examples of data represented by Wolfram Language expressions in WSTP.

The WSTP library consists of a collection of routines that allow external programs to send and receive Wolfram Language expressions using the fundamental C data types.

The WSTP Developer Kit provides utilities for incorporating these routines into external programs. Utilities are included for a variety of languages, although here mainly the case of C is discussed.

An important feature of the WSTP library is that it is completely platform independent: it can transparently use any interprogram communication mechanism that exists on your computer system.