Install

Install["name"]
starts a WSTP-compatible external program and installs Wolfram Language definitions to call functions in it.

Details and OptionsDetails and Options

  • The Wolfram Language definitions set up by Install are typically specified in the WSTP template file used to create the source code for the external program.
  • Install["prog"] will launch the specified program, then connect to it via WSTP.
  • If prog is a directory, Install["prog"] will try to execute prog/$SystemID/prog.
  • Install["name`"] searches all directories on $Path for a file or directory called name.exe.
  • Install[link] will take an existing LinkObject and set up what is needed to call functions in the program corresponding to that LinkObject.
  • Install returns a LinkObject representing the WSTP connection it is using.
  • LinkPatterns[link] gives a list of the patterns defined when the specified link was set up.
  • You can remove these definitions and terminate the execution of the external program by calling Uninstall[link].
  • Install[LinkConnect["port"]] will install an external program that has created a link on the specified port. You can use this to call external programs that have been started in a debugger or on a remote computer system.
  • If you call Install["command"] multiple times with the same command, the later calls will overwrite definitions set up by earlier ones, unless the definitions depend on the values of global variables which have changed.
  • Install sets up definitions which send CallPacket objects to the external program whenever functions in it are called, and waits for results to be returned in ReturnPacket objects.
  • The external program can send EvaluatePacket objects back to the Wolfram Language to request evaluations while the program is running.

ExamplesExamplesopen allclose all

Basic Examples  (1)Basic Examples  (1)

Set the directory:

In[1]:=
Click for copyable input

Install an external WSTP-compatible program:

In[2]:=
Click for copyable input
Out[2]=

Get usage information about linked-in symbols:

Use the new function:

In[4]:=
Click for copyable input
Out[4]=

Terminate the external program:

In[5]:=
Click for copyable input
Out[5]=

Reset to the original directory:

In[6]:=
Click for copyable input
Introduced in 1991
(2.0)
| Updated in 1996
(3.0)