External Language Interfaces
The Wolfram Language has built-in support for common external languages, as well as flexible tools for creating interfaces to any external language or program.
Evaluating External Languages
ExternalEvaluate — one-shot evaluation of external code
ExternalFunction — call a function in an external language and return the result
ExternalOperation — represents an external operation
ExternalObject — represents an external object bound to an external session
External Sessions
StartExternalSession — start a persistent session of the external system
ExternalSessionObject — symbolic representation of an active external session
ExternalSessions — give a list of active external sessions
Managing External Evaluator Systems
FindExternalEvaluators — find currently available external evaluator systems
RegisterExternalEvaluator ▪ UnregisterExternalEvaluator
SystemInstall — install software for external evaluators
"Python" ▪ "NodeJS" ▪ "Julia" ▪ "Ruby" ▪ "R" ▪ "Java" ▪ "Octave" ▪ "Jupyter" ▪ "SQL" ▪ "SQL-JDBC" ▪ "Shell"
Running Arbitrary Processes
StartProcess — start an external process, returning a process object
RunProcess — run an external process, returning full information
ProcessObject ▪ ProcessInformation ▪ KillProcess
Generating Code to Call Wolfram Language Functions
EmbedCode — generate native code to call the Wolfram Cloud and Wolfram Engine
$EmbedCodeEnvironments — list of languages supported by EmbedCode
C and C++ »
FunctionCompile — create a compiled version of a pure function
FunctionCompileExportLibrary — create a shared library by compiling a pure function
LibraryFunctionDeclaration — declare functions in external libraries for compiled code
LibraryFunction — a function calling into a dynamic library
CFunction — symbolic representation of a C function
Install — load an installable WSTP-enabled program
Java »
LoadJavaClass ▪ JavaNew ▪ JavaObject ▪ ...
.NET »
LoadNETType ▪ LoadNETAssembly ▪ NETNew ▪ NETBlock ▪ ...
Python »
— start a persistent session with a local Wolfram Engine
— connect to a cloud, public or private
R »
ToRForm ▪ FromRForm ▪ RSet ▪ REvaluate ▪ RFunction ▪ ...
Related Import & Export Formats
"JSON" — lists and lists of rules mapped to JSON (.json)
"XML" — general symbolic representation of arbitrary XML
"WXF" — binary-serialized Wolfram Language expressions (.wxf)
"PythonExpression" ▪ "JavaScriptExpression" ▪ XMLElement ▪ XMLObject ▪ "ExpressionJSON" ▪ "BSON"
Web Deployments & APIs
CloudDeploy — deploy code or content to be accessed externally in the cloud
APIFunction — symbolic representation of an API to be deployed
URLExecute — execute an API or contents of a cloud object
Network Programming »
SocketConnect — start a connection to a socket
SocketListen — set up handlers to be run whenever data arrives on a socket
SocketOpen ▪ SocketObject ▪ SocketListener