Introduction

This documentation introduces a suite of tools for developing standalone applications with the Wolfram Language. These tools enable C/C++ developers to package Wolfram Language code as executables and libraries.

This is possible because standalone applications link against the Wolfram system. In order to do so, developers will use the standalone applications SDK, which is discussed in more detail in the section on the SDK.

Another aspect of standalone applications is that they can use Wolfram functionality without end users having to obtain their own Wolfram installation. Components of the Wolfram system are bundled directly into the application and remain hidden from the end user.

The application only needs to bundle the components necessary for the Wolfram functionality that the application uses. As a result, the size of the bundled layout can be significantly reduced in some cases. The process of determining the subset of the layout necessary for an application is called pruning, which is discussed in greater detail in the section on pruning.

A final aspect of standalone applications involves licensing. The user of a standalone application does not need a Wolfram license. That is, standalone applications come with their own licenses instead of machine- or network-based licenses. This is implemented using something called license signatures. For more information, see the section on license signatures.

Getting started: An exploration of how all these pieces come together in the development of a standalone application is here.

Key Terms

  • The Wolfram Language Runtime: This is the core component that executes Wolfram Language code.

  • The Standalone Applications SDK: This is the developer kit you will actually link against in your C/C++ code. It’s a static library (.a or .lib) that simplifies the process of loading and interacting with the Wolfram Language Runtime.

  • The Expression API: This is the name for the set of C functions (like wlr_Eval, wlr_Integer, etc.) provided by the SDK. You use this API to create, evaluate, and inspect Wolfram Language expressions from your code.